[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по двум параметрам
Pinoplast
Есть такой запрос



$res=mysql_query("SELECT * FROM avt WHERE MATCH (`na`) AGAINST ('".mysql_real_escape_string($st)."')",$db);


подскажыте как можно ввести ограничение на поиск, тоесть еще какойто параметр чтоб не давал выводить не нужные совпадения, другими словами

есть в базе поле имени человека, и поле его возраста, так вот как задать в этом запросе чтоб не выводились ЮРИИ возраст которых допустим 24 года???



Спустя 13 минут, 24 секунды (1.12.2009 - 22:31) sergeiss написал(а):
См. описалово для DISTINT и GROUP BY. Можно использовать и то, и другое.

Спустя 4 минуты, 29 секунд (1.12.2009 - 22:36) Pinoplast написал(а):
А GROUP BY это же вроде выравнивание или сортировки или я ошибаюсь???

Спустя 13 минут, 22 секунды (1.12.2009 - 22:49) sergeiss написал(а):
Сортировка - это ORDER BY.

Для твоих целей лучше подходит DISTINCT, но можно и GROUP BY (это я в первую очерещь говорю сейчас об их приоритетах именно в этом случае).

Спустя 23 минуты, 37 секунд (1.12.2009 - 23:13) Pinoplast написал(а):
да рак мозгов уже пять сайтов перелистал нигде ничего толкового описано нету, даже примеров mad.gif

Спустя 6 минут (1.12.2009 - 23:19) Pinoplast написал(а):
Не ты меня вроде не правильно понял, тут не как не пойдет DISTINCT, попробую по другому перефразировать, у меня есть поле для поиска и клавиша, я ввожу текст, он запросом верхним выводит все имена таблицы начиная от 1 изаканчивая допустим 1000. У меня есть поле рядом в базе пароль, так вот я хочю чтоб список имен выводился по этому запросу только для тех людей для которых совпадает пароль!!!

а DISTINCT это же просто недопускает повторения!!! одинаковых строк но не закрывает вывод ненужных!!!

Спустя 10 минут, 6 секунд (1.12.2009 - 23:29) sergeiss написал(а):
А ты просто найти хэлп по БД и почитай...

Вот ты не поверишь - зашел в Яндекс, запросил "mysql select distinct", получил первую же "интересную" ссылку: http://www.mysql.ru/docs/man/SELECT.html.
Да и другие ссылки тоже весьма интересны smile.gif

Может быть, у нас с тобой разные Яндексы??? wink.gif

PS. А эту ссылку ты все равно почитай. И обрати особое внимание на WHERE. Это - условия, накладываемые на выборку.

Спустя 7 минут, 19 секунд (1.12.2009 - 23:36) Pinoplast написал(а):
ну а толку с этой ссылки статья эта практически на каждом сайте про пхп а описания того что мне надо толкового нет!!!

Спустя 1 минута, 37 секунд (1.12.2009 - 23:38) Pinoplast написал(а):
Да через WHERE я могу написать это как два пальца об асфальт, мне интересно или както первый запрос можно ограничить!!!

Спустя 1 минута, 44 секунды (1.12.2009 - 23:39) Pinoplast написал(а):
или ты имееш введу что WHERE надо после запроса ставить???

Спустя 50 секунд (1.12.2009 - 23:40) Pinoplast написал(а):
типа так


SELECT *, MATCH field AGAINST ('$searchwords') as relev FROM table WHERE relev>0 ORDER BY relev DESC


Спустя 1 минута, 41 секунда (1.12.2009 - 23:42) sergeiss написал(а):
Цитата (Pinoplast @ 2.12.2009 - 00:38)
Да через WHERE я могу написать это как два пальца об асфальт, мне интересно или както первый запрос можно ограничить!!!

Еще раз повторяю: читай внимательно про WHERE (про distinct я был не прав, экскузи муа smile.gif). Особенно обрати внимание на то, что можно вывести одновременно очень много условий, объединенных через OR, AND и скобками.

Спустя 6 минут, 41 секунда (1.12.2009 - 23:49) Pinoplast написал(а):
Все допер, надобыло на оборат писать, типа так


$res=mysql_query("SELECT * FROM avt WHERE pokaz='1' and MATCH (`name`) AGAINST ('".mysql_real_escape_string($sta)."')",$db);


Спустя 3 минуты, 56 секунд (1.12.2009 - 23:52) sergeiss написал(а):
Ну, типа того smile.gif

А вообще, условие может быть очень и очень "навороченным". Например (абстрактные столбцы абстрактной таблицы smile.gif):

where (age < 18 or age >65) and first_name like 'Ю%' and last_name not like 'Ф%'

( возраст меньше 18 или больше 65, и при этом имя начинается на Ю, а фамилия НЕ начинается на Ф)

Спустя 5 минут, 55 секунд (1.12.2009 - 23:58) Pinoplast написал(а):
А что такое Like и счем его едят???

Спустя 5 минут, 21 секунда (2.12.2009 - 00:04) sergeiss написал(а):
Вот тут http://www.mysql.ru/docs/man/ находится текст Библии smile.gif Читай его (её) - там есть всё wink.gif

И еще вот тут можешь глянуть http://yandex.ru/yandsearch?text=mysql+lik...k1%2Ftc10%2Fnc1

Спустя 1 день, 22 часа, 49 минут, 53 секунды (3.12.2009 - 22:54) Pinoplast написал(а):
Есть еще вопрос по запросу, подскажите что почитать чтоб запросом удалить последнюю запись базы MYSQL, количество строк в базе все время меняеться.

Спустя 5 минут, 19 секунд (3.12.2009 - 22:59) sergeiss написал(а):
"Последняя" - по какому условию? Максимальный айди, максимальное время? Определись с этим, и у тебя будет ответ на твоей же вопрос.

Спустя 4 минуты, 41 секунда (3.12.2009 - 23:04) Pinoplast написал(а):
хорошо, если я упрошью вопрос допустим количество строк не меняеться 10 и привязаться я могу толко к их количеству тогда как думать дальше???

Спустя 1 минута (3.12.2009 - 23:05) Pinoplast написал(а):
я считаю количество если привышает, то как удалить последнюю, допустим там два поля только id которое автоматом считает номера записей и name записывает текст разный???

Спустя 5 часов, 43 минуты, 33 секунды (4.12.2009 - 04:48) John_761 написал(а):
Количество строк не меняется, но id увеличивается при добавлении новой и не повторяется? Выход: удалять запись с MAX id ?

Спустя 4 часа, 30 минут, 48 секунд (4.12.2009 - 09:19) sergeiss написал(а):
Цитата (John_761 @ 4.12.2009 - 05:48)
Выход: удалять запись с MAX id ?
Это знает только тот человек, который разрабатывает алгоритм smile.gif Я об этом говорил "несколько сообщений тому назад" в этой же теме.

Спустя 1 час, 43 минуты, 26 секунд (4.12.2009 - 11:02) John_761 написал(а):
Я написал и для себя частично, чтобы удостовериться, верно ли понял идею и ход мысли smile.gif Спасиб smile.gif

Спустя 2 дня, 5 часов, 3 минуты, 17 секунд (6.12.2009 - 16:06) Pinoplast написал(а):
Спасибо решил через max
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.