Автор Тема: выборка из всей базы данных  (Прочитано 5852 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн scasic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
выборка из всей базы данных
« : 11 Июля 2002, 11:02:38 »
не знаю куда этот топик поместить лучше :)

надо осуществить поиск заданного слова по всей базе данных, при это не задавая имен таблиц и стобцов

их желательно получить программным путем (php)

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #1 : 11 Июля 2002, 11:10:42 »
Если ты это собираешься делать при помощи SQL (пофиг какая СУБД), то никак :)
На Машине Тьюринга далеко не уедешь.

Оффлайн scasic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #2 : 11 Июля 2002, 12:06:23 »
ясен пень никак

хочу посредством php :)

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
выборка из всей базы данных
« Ответ #3 : 11 Июля 2002, 12:37:37 »
mysql_query("SHOW TABLES");
Получаешь все таблицы.
Далее для каждой таблицы цикл
{
$r=mysql_query("SELECT * FROM $table_name LIMIT 1");
далее
mysql_num_fields($r); - кол-во столбцов
цикл{
$field=mysql_field_name($r, $i) - $i номер столбца
if (empty($your_global_where))
$your_global_where.="$field LIKE \'%$your_global_word%\'";
else
$your_global_where.=" or $field LIKE \'%$your_global_word%\'";
}
SELECT * FROM $table_name WHERE $your_global_where
}

Вот в общем-то весь алгоритм.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #4 : 11 Июля 2002, 12:46:05 »
а зачем тебе это нужно?

если база большая, то все это очень долго работать будет ..
тем более что индексы тут использоваться в запросах не будут ...
На Машине Тьюринга далеко не уедешь.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
выборка из всей базы данных
« Ответ #5 : 11 Июля 2002, 12:57:43 »
Цитировать
если база большая, то все это очень долго работать будет ..
тем более что индексы тут использоваться в запросах не будут

Точно.
Геморой это, если только не разово эт использовать.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн scasic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #6 : 11 Июля 2002, 13:54:53 »
спасиба мужики за отзывчивость и оперативность :)

нужно все это для поиска по сайту
конкретнее человек отправляет запрос слова или словосочитания, все это переваривает база и выдает результаты, короче говоря стандартный поиск по сайту

вот я ничего умней пока не придумал, можно конечно создать еще одну таблицу в базе и индексировать всю базу туда

как это вообще люди реализуют?

может сам подход в корне не верен?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #7 : 11 Июля 2002, 13:57:37 »
scasic
Ну вообще не очень верен.
ИМХО правильнее дать человеку возможность искать только определенные вещи в определенных разделах.
AS IS...

Оффлайн scasic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #8 : 11 Июля 2002, 14:16:52 »
Цитировать
в определенных разделах.

а если человек хочет по всем разделам, глобально так сказать?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #9 : 11 Июля 2002, 14:29:17 »
НУ что значит глобально?
Базу надо так построить, чтобы поиск огранициля двумя-тремя таблицами.
AS IS...

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
выборка из всей базы данных
« Ответ #10 : 11 Июля 2002, 15:54:44 »
ThE0ReTiC
Цитировать
НУ что значит глобально?
Базу надо так построить, чтобы поиск огранициля двумя-тремя таблицами.

Точно. Поиск, например, в доске объявлений это одно, а поиск по сайту эт другое.
scasic
А есть у тя у прова где хостишся Yandex-Site установленный (самому его геморойно устанавливать)?
Если да, то скорее мессагуй!!!
Ох%№#ный метод заценю!
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

  • Гость
выборка из всей базы данных
« Ответ #11 : 12 Июля 2002, 11:33:44 »
scasic
В теме Search на сайте народу посоветоали не гемороиться, а просто установить маленькую поисковую машинку как e Google или урезать яндексную и использовать ее....(яндексу говоришь искать не по всему, а только по твоему сайту)
Я думаю что Alexandr именно это и хотел предложить!!!

Оффлайн sonarv

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
выборка из всей базы данных
« Ответ #12 : 12 Июля 2002, 11:38:16 »
Цитировать
scasic
В теме Search на сайте народу посоветоали не гемороиться, а просто установить маленькую поисковую машинку как e Google или урезать яндексную и использовать ее....(яндексу говоришь искать не по всему, а только по твоему сайту)
Я думаю что Alexandr именно это и хотел предложить!!!

Просто хотел подписаться под своим высказыванием!!!
Виктор Бирюков - Служба технической поддержки компании ISPserver.com

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
выборка из всей базы данных
« Ответ #13 : 12 Июля 2002, 13:24:54 »
Цитировать
Я думаю что Alexandr именно это и хотел предложить!!!
Да нет.
Yandex-Site freeware\'ная прога устанавливается на серваке. Задаёщь сколько раз индексировать твой сайт (раз в день, ч/з день и т.д.). И работает она только на тебя.
Глянь как сделал я. http://www.autodealer.ru/_search.php
Правда не совсем рабочая версия, т.к. у моего прова бесплатно мона индексировать тока 5 метров. И он мне заиндексил не те страницы которые я хотел.
Мне надо ещё запретить МОЕМУ yandex\'у индексировать не нужные страницы.
Т.о получаем быстрый, навороченый (морфология, спец знаки и т.д. всё что есть у яндекса) и с автоматом обновляемой БД безовсяких усилий.

Зацени саму реализацию.
Делал 1/4 раб. дня.

Пишите отзывы.
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28