Forum Webscript.Ru

Общие => Базы данных => Тема начата: scasic от 11 Июля 2002, 11:02:38

Название: выборка из всей базы данных
Отправлено: scasic от 11 Июля 2002, 11:02:38
не знаю куда этот топик поместить лучше :)

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

их желательно получить программным путем (php)
Название: выборка из всей базы данных
Отправлено: fidget от 11 Июля 2002, 11:10:42
Если ты это собираешься делать при помощи SQL (пофиг какая СУБД), то никак :)
Название: выборка из всей базы данных
Отправлено: scasic от 11 Июля 2002, 12:06:23
ясен пень никак

хочу посредством php :)
Название: выборка из всей базы данных
Отправлено: Alexandr от 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
}

Вот в общем-то весь алгоритм.
Название: выборка из всей базы данных
Отправлено: fidget от 11 Июля 2002, 12:46:05
а зачем тебе это нужно?

если база большая, то все это очень долго работать будет ..
тем более что индексы тут использоваться в запросах не будут ...
Название: выборка из всей базы данных
Отправлено: Alexandr от 11 Июля 2002, 12:57:43
Цитировать
если база большая, то все это очень долго работать будет ..
тем более что индексы тут использоваться в запросах не будут

Точно.
Геморой это, если только не разово эт использовать.
Название: выборка из всей базы данных
Отправлено: scasic от 11 Июля 2002, 13:54:53
спасиба мужики за отзывчивость и оперативность :)

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

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

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

может сам подход в корне не верен?
Название: выборка из всей базы данных
Отправлено: ThE0ReTiC от 11 Июля 2002, 13:57:37
scasic
Ну вообще не очень верен.
ИМХО правильнее дать человеку возможность искать только определенные вещи в определенных разделах.
Название: выборка из всей базы данных
Отправлено: scasic от 11 Июля 2002, 14:16:52
Цитировать
в определенных разделах.

а если человек хочет по всем разделам, глобально так сказать?
Название: выборка из всей базы данных
Отправлено: ThE0ReTiC от 11 Июля 2002, 14:29:17
НУ что значит глобально?
Базу надо так построить, чтобы поиск огранициля двумя-тремя таблицами.
Название: выборка из всей базы данных
Отправлено: Alexandr от 11 Июля 2002, 15:54:44
ThE0ReTiC
Цитировать
НУ что значит глобально?
Базу надо так построить, чтобы поиск огранициля двумя-тремя таблицами.

Точно. Поиск, например, в доске объявлений это одно, а поиск по сайту эт другое.
scasic
А есть у тя у прова где хостишся Yandex-Site установленный (самому его геморойно устанавливать)?
Если да, то скорее мессагуй!!!
Ох%№#ный метод заценю!
Название: выборка из всей базы данных
Отправлено: от 12 Июля 2002, 11:33:44
scasic
В теме Search на сайте народу посоветоали не гемороиться, а просто установить маленькую поисковую машинку как e Google или урезать яндексную и использовать ее....(яндексу говоришь искать не по всему, а только по твоему сайту)
Я думаю что Alexandr именно это и хотел предложить!!!
Название: выборка из всей базы данных
Отправлено: sonarv от 12 Июля 2002, 11:38:16
Цитировать
scasic
В теме Search на сайте народу посоветоали не гемороиться, а просто установить маленькую поисковую машинку как e Google или урезать яндексную и использовать ее....(яндексу говоришь искать не по всему, а только по твоему сайту)
Я думаю что Alexandr именно это и хотел предложить!!!

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

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

Пишите отзывы.