[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт поиска...
Nikage
Уважаемые господа!
Спешу поделиьтся проблемой...

Написал по примеру скрипт, все вродебы ничего работает, но...
к примеру в базе есть записи "search"и "video"
в результатх поиска отлично выдает результаты по запросу search и по запросу video, а вот по запросу "video search" выдает ошибку вместе с сообщением "No resuts found"

Ну, и, сообственно скрипт...
<?php


// get data

$button = $_GET['submit'];
$search = $_GET['search'];

// data input test

if (!$button )
{
echo "You did not enter a keyword";
}
else

// search results

if (strlen($search) <=2)
{
echo "Search term is too short.";
}
else
{
echo "You searched for <b>$search </b> <hr size='1'>";

//database connection

mysql_connect("localhost", "Nikage", "12345");
mysql_select_db("new_db");



// explode our search term\
$search_exploded = explode (" ", $search);

foreach ($search_exploded as $search_each)
{
// construct query
$x++;
if ($x==1)
{
$construct .= "keywords LIKE '%$search_each%'";
}
else
{
$construct .= " OR keywods LIKE '%$search_each%'";
}

}



// echo out construct

$construct = "SELECT * FROM searchengine WHERE $construct";
$run = mysql_query ($construct);

$foundnum = mysql_num_rows($run);



if ($foundnum==0)
{
echo "No results found.";
}
else
{
echo "$foundnum results found!<p></p>";

while ($runrows = mysql_fetch_assoc($run))
{
// get data
$title = $runrows['title'];
$desc = $runrows['description'];
$url = $runrows['url'];

echo "<b>$title</b></br>
$desc</br>
<a href='
$url'>$url</a><p></p>";

}
}


}

?>




Спустя 4 минуты, 1 секунда (15.05.2011 - 22:26) Krevedko написал(а):
после
$construct = "SELECT * FROM searchengine WHERE $construct";
напиши
echo $construct;
посмотрим, что в запросе содержиться. ессно с двумя словами этими твоими

Спустя 7 минут, 55 секунд (15.05.2011 - 22:34) Krevedko написал(а):
кстати я нигде не увидел, где у тебя объявляется
$x которое потом
$x++;

Спустя 3 минуты, 58 секунд (15.05.2011 - 22:38) Nikage написал(а):
Цитата (Krevedko @ 15.05.2011 - 19:26)
после
$construct = "SELECT * FROM searchengine WHERE $construct";
напиши
echo $construct;
посмотрим, что в запросе содержиться. ессно с двумя словами этими твоими

SELECT * FROM searchengine WHERE keywords LIKE '%video%' OR keywods LIKE '%search%'
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in V:\home\search.com\www\search.php on line 73
No results

Спустя 4 минуты, 5 секунд (15.05.2011 - 22:42) Nikage написал(а):
Цитата (Krevedko @ 15.05.2011 - 19:34)
кстати я нигде не увидел, где у тебя объявляется
$x которое потом
$x++;

На сколько я понял $x увеличивается с кажым проходом цикла, по крайней мере так было в примере

Спустя 6 минут, 36 секунд (15.05.2011 - 22:49) Krevedko написал(а):
Цитата
На сколько я понял $x увеличивается с кажым проходом цикла, по крайней мере так было в примере

это понятно. просто изначально его надо задать. ну написать где-то сверху (до цикла) $x = 0;
Может оно и написано, просто тут я этого не вижу.
Что касается ошибки. keywods -слово неверное
опечатка в OR

Спустя 8 минут (15.05.2011 - 22:57) Krevedko написал(а):
получилось ? ну слава богу )
обращайтесь
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.