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

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

Оффлайн Lutik

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 184
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.galiongroup.ru
поиск в базе данных
« : 20 Июля 2004, 20:02:16 »
Подскажите пожалуйста! Как правильно сформировать запрос в базу данных для поиска фразы?
Разум когда-нибудь победит

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
поиск в базе данных
« Ответ #1 : 20 Июля 2004, 20:44:57 »
select * from table where field like "%фраза%";
Не все коту матрица.

Оффлайн Lutik

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 184
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.galiongroup.ru
поиск в базе данных
« Ответ #2 : 21 Июля 2004, 00:09:44 »
Я наверно немного не коректно вопрос задал :( Такой запрос работает но он ищет одно слово, или как это называется в поисковиках "искать любое слово". А мне надо чтобы искал полностью фразу! Я так подчитал и думаю что этот запрос надо писать с логическим сложением тип такого! Как сформировать такой запрос как представлен ниже?
http://yandex.ru/yandsearch?stype=www&nl=0&text=%EF%F0%E8%E2%E5%F2+%EA%E0%EA+%E4%E5%EB%E0
Разум когда-нибудь победит

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в базе данных
« Ответ #3 : 21 Июля 2004, 10:52:26 »
такой запрос работает и ищет именно НЕ ЛЮБОЕ слово, а как раз полностью фразу.
ты бы сначала попробовал, а потом писал

Оффлайн Lutik

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 184
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.galiongroup.ru
поиск в базе данных
« Ответ #4 : 21 Июля 2004, 15:13:10 »
Хорошо вот пример моего скрипта:

if($_POST[\'search\']){
   include(\'connect.php\');
   $search = substr($search, 0, 64);
   $search = strip_tags($search);
   $query = "SELECT * FROM indexer  WHERE  word LIKE \'%$search%\' ";
   $result = @mysql_query($query) or die("$query <b>failed!</b>
".mysql_error());
   $i=0;
while($row = mysql_fetch_array($result)) {
$link=$row[\'link\'];
$word=$row[\'word\'];
$word=substr($word, 0, 64);
$i++;
  echo $i." ".$word."
";
  echo " <a href=".$link.">".$link."</a>


";

}
if($i==0){
echo "&#207;&#238; &#226;&#224;&#248;&#229;&#236;&#243; &#231;&#224;&#239;&#240;&#238;&#241;&#243; &#237;&#229;&#247;&#229;&#227;&#238; &#237;&#229; &#237;&#224;&#233;&#228;&#229;&#237;&#238;";
}
else
{
echo "&#205;&#224;&#233;&#228;&#229;&#237;&#238; ".$i." &#241;&#238;&#238;&#242;&#226;&#229;&#242;&#241;&#242;&#226;&#232;&#233;";
}
}
mysql_close($con);

почему тогда этот скрипт ищет только первое слово а второе нет? запрос сделан так как показано выше! Не так ли?
« Последнее редактирование: 21 Июля 2004, 15:38:15 от ThE0ReTiC »
Разум когда-нибудь победит

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в базе данных
« Ответ #5 : 21 Июля 2004, 15:35:28 »
какое еще первое второе?
ты вообще понимаешь, что ты пишешь?
откуда мне знать, что та у тебя за слова?
запрос, который ты делаешь, ищет наличие всего $search в поле word
откуда тут еще взялись первые вторые слова?
сколько слов есть в $search - столько и ищет.
точнее, не слова, а целиком фразу.
проблема не в базе, а в том, что ты сам не знаешь, чего хочешь

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

Оффлайн Lutik

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 184
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.galiongroup.ru
поиск в базе данных
« Ответ #6 : 18 Августа 2004, 19:05:30 »
Извиняюсь за глупости которые писал :( Я разобрался уже сенк за подсказку! А теперь бьюсь с постраничным выводом можете помочь или подсказать хотябы де почитать о нем и как правильно организовать(напомню разговор идет за поиск т.е. требуется постраничный вывод результатов поиска!)
Разум когда-нибудь победит

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
поиск в базе данных
« Ответ #7 : 18 Августа 2004, 19:17:00 »
[OFF]В фак посмотреть религия не позволяет?[/OFF]

http://forums.webscript.ru/showthread.php?s=&threadid=3668
Не все коту матрица.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в базе данных
« Ответ #8 : 19 Августа 2004, 00:08:57 »
идешь в яндекс, и втыкаешь, как сделано там.

 

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