[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Организация поиска по сайту
str_replace
Всем привет!

есть вопрос: как организовать поиск данных в нескольких разных таблицах БД?
как сделать поиск в одной таблице понятно. А когда несколько таблиц с разными структурами?

был вариант делать несколько SQL-запросов к каждой из таблиц, сохранять результаты в файл, читая файл выдавать опеределённое кол-во считанных данных (для разбивки поиска на страницы). что думаете по поводу такой реализации?

спасибо!



Спустя 18 часов, 42 минуты, 44 секунды (31.01.2008 - 12:36) mechanic написал(а):
SELECT ... UNION SELECT ...?

Спустя 4 часа, 52 минуты, 19 секунд (31.01.2008 - 17:28) str_replace написал(а):
а разве это будет работать для таблиц с разными структурами?

Спустя 2 часа, 31 минута, 59 секунд (31.01.2008 - 20:00) VladimirS написал(а):
SELECT * FROM table1, table2 WHERE table1.field1=... OR table2.field2=...

Т.е. после FROM перечисляете имена таблиц, а потом можете ссылаться на любое поле в этих таблицах

Спустя 3 дня, 18 часов, 14 минут, 23 секунды (6.02.2008 - 14:14) mechanic написал(а):
Цитата(VladimirS @ 31.1.2008, 20:00) [snapback]32938[/snapback]
SELECT * FROM table1, table2 WHERE table1.field1=... OR table2.field2=...

Т.е. после FROM перечисляете имена таблиц, а потом можете ссылаться на любое поле в этих таблицах

ужос то какой!!!!
вы в курсе, что при 100 записях в каждой таблице вы получите 100^n записей на выходе, где n - число таблиц??
это если не использовать where, а если использовать - получите множество лишних полей.. короче АХТУНГ
раз уж встал такой вопрос, то легче написать простенькую функцию, или класс, где перечислить таблицы, в которых хочется делать поиск, и поля, в которых может храниться исковая инфа..
и при обращении к поиску делать выборку по каждой таблице, сохранять все результаты в массивчик и выдавать!
ну или в файл, да.. почему бы и нет

а UNION будет ругаться только если ЧИСЛО полей не совпадает, на тип полей пофиг..


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.