Общие > Базы данных

Сложный select

(1/1)

:
Всем привет!
Делаю поиск по базе на PHP и Mysql.
Поиск с несколькими условиями, но некоторые условия (судя по результатам) база упускает. В этом запросе результаты не учитывают условие (id_cat = \'241\') or (id_cat = \'240\')  or (id_cat = \'242\') or (id_cat = \'243\')

--- Код: ---$query = "SELECT id, notice, price, name, descr_, picture, path, author, publishing  FROM `picture`  where  visible 1 and (id_cat = \'241\') or (id_cat = \'240\')  or (id_cat = \'242\') or (id_cat = \'243\') and (name regexp \'$key_word\') or
                                    (author regexp \'$key_word\') or (format regexp \'$key_word\') or
                                     (descr regexp \'$key_word\') ORDER BY name LIMIT $first, 15";

--- Конец кода ---

Я не очень хорошо знаю синтаксис SQL, покопался в инете по таким запросам, но ничего н нашел.
Поэтому спрашиваю у вас, как правильно написать этот запрос:
Выбрать id, notice, price, name, descr_, picture, path, author, publishing из таблицы picture, где visible не равно ноль и (id_cat = 241 или id_cat = 240 или id_cat = 242 или id_cat = 243) и (name regexp \'$key_word\') or
                                    (author regexp \'$key_word\') or (format regexp \'$key_word\') or
                                     (descr regexp \'$key_word\')
Спасибо!

MadDog:

--- Цитировать ---NР:
(id_cat = \'241\') or (id_cat = \'240\') or (id_cat = \'242\') or (id_cat = \'243\')
--- Конец цитаты ---

Попробуй написать так:
((id_cat = \'241\') or (id_cat = \'240\') or (id_cat = \'242\') or (id_cat = \'243\'))

--- Цитировать ---NР:
(name regexp \'$key_word\') or (author regexp \'$key_word\') or (format regexp \'$key_word\') or (descr regexp \'$key_word\')
--- Конец цитаты ---

ну и это соответсвенно тоже также
((name regexp \'$key_word\') or (author regexp \'$key_word\') or (format regexp \'$key_word\') or (descr regexp \'$key_word\'))

Макс:

--- Цитировать ---MadDog:
((id_cat = \'241\') or (id_cat = \'240\') or (id_cat = \'242\') or (id_cat = \'243\'))
--- Конец цитаты ---

id_cat IN (241, 240, 242, 243)
или
id_cat BETWEEN 240 AND 243

:
MadDog
Помогло, спасибо!

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии