|
|
|
| Здравствуйте! Проблемы в поисковом запросе, В БД есть название страниц и в названиех страниц есть одиноковые слова. Если я пешу это слово поиск сразу выводить :К сожелению ничего не найдено! Кому не лень посмотрите в код и подскажите в чем проблема. Пожалуйста
<form action="view_search.php" method="post" name="form_s">
<input name="submit_s" type="submit" value="Search" class="search">
<input name="search" type="text" class="input">
</form>
|
Обработчик:
if (isset($_POST['submit_s']))
{
$submit_s = $_POST['submit_s'];
}
if (isset($_POST['search']))
{
$search = $_POST['search'];
}
if (isset($submit_s))
{
if (empty($search) or strlen($search) < 4)
{
exit ("<p>Вы не ввели поисковой запрос!</p>");
}
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);
}
$result_search = mysql_query ("SELECT * FROM pages WHERE MATCH(name_en) AGAINST ('$search')",$db);
if (!$result_search)
{
echo "<p>Запрос по выборки не прошёл!</p>";
exit (mysql_error());
}
if (mysql_num_rows($result_search) > 0)
{
$myrow_search = mysql_fetch_array ($result_search);
do
{
echo $myrow_search['name_en'];
}
while ($myrow_search = mysql_fetch_array ($result_search));
}
else
{
echo "<p>К сожелению ничего не найдено!</p>";
}
|
| |
|
|
|
|
|
|
|
для: Стажер
(22.08.2010 в 12:34)
| | Ты для поиска используешь Match, почитай в интернетах про него. У него таков механизм работы, что если искомое слово встречается то-ли во всех записях, то-ли в каком-то большом их проценте, то результат поиска оказывается нулевым. | |
|
|
|
|
|
|
|
для: nikita2206
(22.08.2010 в 12:47)
| | Я кроме MATCH ничего не знаю я Стажер, а что изпользовать откуда я могу взять код подскажите плз | |
|
|
|
|
|
|
|
для: Стажер
(22.08.2010 в 12:52)
| | А все вот в инете нашел IN BOOLEAN MODE спасибо всем!
$result_search = mysql_query ("SELECT * FROM pages WHERE MATCH(name_en,meta_d_en) AGAINST ('$search' IN BOOLEAN
MODE) ",$db);
|
| |
|
|
|
|
|
|
|
для: Стажер
(22.08.2010 в 13:22)
| | В таких запросах исп. LIKE, ну ты же стажер | |
|
|
|