![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| chiffa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Всем привет необходимо сделать поиск по всей базе, по всем таблицам, с переборам таблиц и данных проблем нету, туту все понятно, проблемка возникала непосредственно с поиском. делать так:
невозможно т.к. я по умолчания незнаю название полей котрые присутствуют в той или иной таблице. Можете кто уже реализовывал подобное плииииз поделитесь советом илипримерчиком Перебор по базе делаю так:
|
||||
|
|||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
можно сделать выборку show tables; - получим имена всех таблиц
затем перебираем каждую таблицу командой desc tbl; - получаем список полей дальше делается запрос SELECT ... FROM tbl WHERE field1 LIKE "шаблон" OR field2 LIKE "шаблон" OR field3 .... или же на каждое поле отдельный запрос. Получается цикл тройной вложенности. Может быть удасться сделать оптимальнее Это сообщение отредактировал(а) flashaa - 8.2.2008, 23:59 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
это точно. первым в голову приходит: сделать такую структуру БД, чтоб не приходилось искать данные "везде". чесно говоря, не могу представить, где может понадобиться поиск "по всей базе" не в учебных целях(разобраться с динамическим формированием запросов). единственный "корректный" вариант применения поиска по всем полям нескольких таблиц: при переводе БД из ненормализованного вида, когда практически однотипные данные храняться в разных полях разных таблиц, в нормализованный вид, где, к тому же, данные с одинаковым значением будут храниться в одном месте. но там не надо делать поиск. просто динамически формировать запросы... может, поделишься задачей, chiffa? |
|||
|
||||
| chiffa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
задача проста - сделать поиск по всей базе как я и описал
|
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
А смысл в таком поисковике? Он же будет
1. Тормозить 2. Выдавать кучу левого 3. Прикольно будет, например, идентификаторы сессий или номера кредиток им находить Сделайте админку, из которой можно было бы добавлять таблицы/поля в поиск. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| chiffa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
solenko, спасибо за идею
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Для данных задач БД имхо только мешает автору
Гы
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |