Задавайте вопросы, мы ответим
Вы не зашли.
Php + Mysql
Подскажите, как лучше сделать поиск по сайту. Имеется главная таблица Раздел(ы) и второстепенные таблицы:
1. Товары
2. Масло
3. Шины
Если сталкивались, подскажите.
Неактивен
Подскажите как должен правльно быть составлен запрос на поиск по 3 таблицам, сложность в том, что в таблицах разные названия столбцов, так в одной таблице id_goods, в другой id. И еще уникальные столбцы. В прикрепленном изображение указал.
А в третьей таблице Раздел, содержится информация по разделам:
id_razdel title_razdel
1 Масло
2 Шины
3 Мотоциклы
Отредактированно anonym (17.02.2012 12:20:39)
Неактивен
Сделайте 3 запроса.
Неактивен
У меня сейчас вот так сделано:
$q = "SELECT `id_razdel`, `id`, `marka`, `cat`, `title`, `text` FROM `goods` WHERE `title` LIKE '%$query%' OR `text` LIKE '%$query%'
UNION
SELECT `id_razdel`, `id`, `cat`, `marka`, `title`, `text` FROM `wheel` WHERE title` LIKE '%$query%' OR `text` LIKE '%$query%'";
$result = mysql_query($q);
Но при данном запросе в таблицах должны быть одинкаовые названия колокнок.
А без UNION у меня не получается, помогите составить запрос.
Отредактированно anonym (17.02.2012 12:24:01)
Неактивен
anonym написал:
Но при данном запросе в таблицах должны быть одинкаовые названия колокнок.
Нет.
Должно выбираться одинаковое кол-во колонок.
Неактивен
Спасибо, очень помогли с UNION, теперь получается.
Скажите а вариант из 3 запросов, как составить?
Неактивен
Убираете union и делаете три отдельных запроса. Только смысл?
Неактивен
сам запрос
Неактивен
anonym написал:
сам запрос
Не понял это сообщение, поясните.
Неактивен
Это должно быть 3 разных запроса, или один запрос с тремя подзапросами? И если нетрудно, покажите пример.
Неактивен
3 разных запроса.
SELECT ... FROM `первая таблица` ...
SELECT ... FROM `вторая таблица` ...
SELECT ... FROM `третья таблица` ...
Неактивен
а как данных полученные из этих 3-х запросов потом в одну переменную записывать?
3 разных запроса.
request1= "SELECT ... FROM `первая таблица` ...";
request2= "SELECT ... FROM `вторая таблица` ...";
request3= "SELECT ... FROM `третья таблица` ...";
$result = mysql_query();
???
Отредактированно anonym (17.02.2012 13:07:33)
Неактивен
Это уже вопрос php. Если нужно записать в одну переменную, то зачем вам 3 запроса, тем более, что вы справились с union?
Неактивен
vasya написал:
Это уже вопрос php. Если нужно записать в одну переменную, то зачем вам 3 запроса, тем более, что вы справились с union?
Для дальнейшего развития. Спасибо за помощь.
Отредактированно anonym (17.02.2012 14:34:56)
Неактивен