Поиск по сайту. выбор из большого количества таблиц сразу.

Space

Новичок
Поиск по сайту. выбор из большого количества таблиц сразу.

Есть таблицы в MySQL с разными полями. в одной таблице надо выбрать поле title, в другой concat'om 2 поля name,fof и т.д.
требуется, что бы записи, после выборки формаровались не только по страницам, но и рядом с каждой записью стояло название таблицы, в которой нашлась запись.

пример:

название 1 - таблица 1
название 12 - таблица 1
название 3 - таблица 3
название 4 - таблица 4
страницы 1,2... и т.п.

конечно, можно сделать это через массивы с помощью array_push,array_merge - но тогда это буддет очень долго обрабатываться.

создать временную таблицу? вроде тоже не подходит..
 

Space

Новичок
:)))

объясню несколько иначе:
есть 5 разделов на сайте. к примеру, "новости", "предприятия" и т.п.
таблица новостей содержит одни поля - таблица предприятий содержит другие. из новостей надо выбирать поле title из предприятий name удовлетворяющих, к примеру, LIKE.

нужно, что бы данные выводились постранично.

(это было в кратце)
 

Demiurg

Guest
ну, и в чем проблема ? Считаешь общее количество найденого, выставляешь лимиты и вперед.
 

Space

Новичок
нее... это работает если выборку делать из одной таблицы.
JOIN и выборка в стиле from table1 as t1, table2 as 2 не идут.

$q1="select id as trade_id,notes as trade_title from note WHERE note.notes REGEXP '".htmlspecialchars($search_keywords)."'";
$q2="select id as enterprise_id, concat(name,' ',fof) as enterprise_title from enterprise WHERE enterprise.name REGEXP '".htmlspecialchars($search_keywords)."'";
$q3="select id as sites_id, name as sites_title from sites WHERE sites.name REGEXP '".htmlspecialchars($search_keywords)."'";

вот пример селектов.
 

Aku Aku

Guest
если версия > 4.0.0 используй UNION, если я правильно понял что тебе нужно
 

tony2001

TeaM PHPClub
1) найти id всех найденных записей из всех таблиц.
2) записать их в сессию или базу(в этом случае - выдать ID поиска).
3) выводить записи постранично.

на каком из этих этапов возникает проблема?
 

tony2001

TeaM PHPClub
Space
ну ессно мы кроме id запишем место, откуда этот id, чтобы потом знать, откуда выбирать.
 

Space

Новичок
мне кажется, что Aku Aku, ближе к истине.
tony2001, это создание временных таблиц. разве это гуд?
пользователь занес результат в закладки, темповая таблица удалилась.... хм...

на счет сессий.... долго будет обрабатываться. к примеру 10 000 записей :)
либо я не понимаю твоего предложения.
 

tony2001

TeaM PHPClub
я сказал про временные таблицы? где?
посмотри как на этом форуме организован поиск, ты поймешь о чем я говорю.
 
Сверху