Как из поиска исключить записи по ID?

Flintarix

Новичок
Как из поиска исключить записи по ID?

Делаю поиск через select:

PHP:
SELECT * FROM table WHERE `name` LIKE '%$text%' OR `description` LIKE '%$text%'
Но мне нужно чтобы в поиске не отражались, например, записи с id = 121, 122, 123, 124, 125, 126. Подскажите пожалуйста как мне это сделать? Заранее благодарю.
 

phprus

Moderator
Команда форума
Flintarix
NOT IN тебе поможет. А вообще почитай: http://phpclub.ru/detail/article/mysql_search так как LIKE в случае если в начале выражения находится знак % делает полный просмотр таблици и не использует индексов.
 

Flintarix

Новичок
А можно увидеть пример как применяется NOT IN? По ссылке baev(a) не нашел примера.

phprus, я так понимаю в моем случае (с моим кодом) будет большая нагрузка на базу?

-~{}~ 24.03.07 16:49:

Правильно?

PHP:
SELECT * FROM table WHERE `name` LIKE '%$text%' OR `description` LIKE '%$text%' AND id NOT IN (121, 122, 123, 124, 125, 126)
 

Андрейка

Senior pomidor developer
Правильно?
лень проверить или просто скучно в субботу?)
неа, не прально
 

baev

‹°°¬•
Команда форума
По ссылке baev(a) не нашел примера.
Это как же надо делать вид, что, типа, «я искал», чтоб не увидеть там примеров?

Мля.
Ведь прям посреди страницы выводятся — не заметить ну очень сложно...
 

Flintarix

Новичок
Проверил, работает, но не так как нужно.

При условии, что написал я, получается условие: (name содержит $text) или (description содержит $text и id не 121, 122, 123, 124, 125, 126). Т.е. в рез-те поиска сможет появиться запись из базы с name содержащим $text , но её id будет 121.

Мне нужно, чтобы было условие: id не 121, 122, 123, 124, 125, 126; name содержит $text или description содержит $text. Как такое организовать? Все перебрал с or и and.
 
Сверху