Forum Webscript.Ru

Программирование => PHP => Тема начата: Lutik от 20 Июля 2004, 20:02:16

Название: поиск в базе данных
Отправлено: Lutik от 20 Июля 2004, 20:02:16
Подскажите пожалуйста! Как правильно сформировать запрос в базу данных для поиска фразы?
Название: поиск в базе данных
Отправлено: Croaker от 20 Июля 2004, 20:44:57
select * from table where field like "%фраза%";
Название: поиск в базе данных
Отправлено: Lutik от 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
Название: поиск в базе данных
Отправлено: Меняздесьдавнонет от 21 Июля 2004, 10:52:26
такой запрос работает и ищет именно НЕ ЛЮБОЕ слово, а как раз полностью фразу.
ты бы сначала попробовал, а потом писал
Название: поиск в базе данных
Отправлено: Lutik от 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 failed!
".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 " ".$link."


";

}
if($i==0){
echo "Ïî âàøåìó çàïðîñó íå÷åãî íå íàéäåíî";
}
else
{
echo "Íàéäåíî ".$i." ñîîòâåòñòâèé";
}
}
mysql_close($con);

почему тогда этот скрипт ищет только первое слово а второе нет? запрос сделан так как показано выше! Не так ли?
Название: поиск в базе данных
Отправлено: Меняздесьдавнонет от 21 Июля 2004, 15:35:28
какое еще первое второе?
ты вообще понимаешь, что ты пишешь?
откуда мне знать, что та у тебя за слова?
запрос, который ты делаешь, ищет наличие всего $search в поле word
откуда тут еще взялись первые вторые слова?
сколько слов есть в $search - столько и ищет.
точнее, не слова, а целиком фразу.
проблема не в базе, а в том, что ты сам не знаешь, чего хочешь

приводить пример надо не ламерский  скрипт, а пример запроса и пример того, что он находит
Название: поиск в базе данных
Отправлено: Lutik от 18 Августа 2004, 19:05:30
Извиняюсь за глупости которые писал :( Я разобрался уже сенк за подсказку! А теперь бьюсь с постраничным выводом можете помочь или подсказать хотябы де почитать о нем и как правильно организовать(напомню разговор идет за поиск т.е. требуется постраничный вывод результатов поиска!)
Название: поиск в базе данных
Отправлено: Croaker от 18 Августа 2004, 19:17:00
[OFF]В фак посмотреть религия не позволяет?[/OFF]

http://forums.webscript.ru/showthread.php?s=&threadid=3668
Название: поиск в базе данных
Отправлено: Меняздесьдавнонет от 19 Августа 2004, 00:08:57
идешь в яндекс, и втыкаешь, как сделано там.