Kostyab
Новичок
Поиск в трех одинаковых таблицах
Привет всем!
Есть три таблицы с одинаковой структурой.
Мне нужно написать скрипт поиска по всем трем таблицам и вывести на экран результаты.
Юзеру предлагается ввести ключевое слово и выбрать поле, по которому будет вестись поиск.
Из формы по GET приходит $s -- ключевое слово и $where -- в каком поле хочет искать.
Структура таблиц tb1, tb2, tb3:
Я делаю так:
Однако при больших объемах данных два таких запроса здорово загрузят сервер.
ВОПРОС: как по-грамотному считать $amount в первом запросе?
(p.s. эскейп-функции опущены для упрощения примера.)
Привет всем!
Есть три таблицы с одинаковой структурой.
Мне нужно написать скрипт поиска по всем трем таблицам и вывести на экран результаты.
Юзеру предлагается ввести ключевое слово и выбрать поле, по которому будет вестись поиск.
Из формы по GET приходит $s -- ключевое слово и $where -- в каком поле хочет искать.
Структура таблиц tb1, tb2, tb3:
PHP:
id | nazv | adres | tel | email | web
PHP:
$query="SELECT * FROM tb1 WHERE $where LIKE '%$s%'
UNION
SELECT * FROM tb2 WHERE $where LIKE '%$s%'
UNION
SELECT * FROM tb3 WHERE $where LIKE '%$s%'
";
$result = $db>query($query);
$amount = mysql_num_rows($result);
if ( $amount > 0 )
{
снова вызываем тот же запрос и выводим результаты
}
else echo"ничего не найдено";
ВОПРОС: как по-грамотному считать $amount в первом запросе?
(p.s. эскейп-функции опущены для упрощения примера.)