Всем привет!
Подскажите, пожалуйста, как грамотно составить "поисковый" запрос к базе.
Условия для запроса такие:
1. "Главный запрос" (мол, "хочу найти такую-то фигню"-->жмём Найти. Впрочем я
знаю, как это сделать (LIKE "%$query%")). Проблема в том, как составить этот запрос
для поиска по разным колонкам одной таблицы?
Я делал так:
$sql = "SELECT book_title, auth_name, price, type FROM title WHERE book_title LIKE
\'%$query%\' OR auth_name LIKE \'%$query%\' OR price LIKE \'%$query%\'";
Всё бы ничего -- работает, но ни как не соотносится со вторым условием для запроса
2. Есть три чекбокса (грубо говоря: тип один, тип два и тип три) и в зависимости от
того, какой тип выбран (или какие), по соответствующим параметрам и ведётся
поиск. Например: "Хочу найти такую-то фигню в типе один и два" -->жмём Найти
Тип первый
Тип второй
Тип третий
Ещё бы знать, почему массив не передаётся в запрос (то есть если использовать в
запросе index.php&type=1 (а в БД type=$type) всё работает, выдаются все записи с
типом один, но когда ставишь такие вот скобки [] -- не работает, а следовательна
нельзя "найти такую-то фигню в типе один и два")
И главная проблема состоит в том, что я не могу совместить эти два условия. Хоть
убёй, но при таком коде(
) выдает все записи любого типа (если задавать поиск
только по чекбоксам) или записи любого типа, соотствующие "%$query%".
$sql = "SELECT book_title, auth_name, price, type FROM title WHERE book_title LIKE
\'%$query%\' OR auth_name LIKE \'%$query%\' OR price LIKE \'%$query%\' AND(здесь я
ставил также и OR) type=\'$type\'";
Громозко получилось, но зато всеобъемлюще. Заранее спасибо.