4 / 4 / 0
Регистрация: 07.08.2015
Сообщений: 97
1

Некорректная работа поиска по сайту

01.02.2017, 13:36. Показов 621. Ответов 6
Метки нет (Все метки)

Уважаемые программисты, подскажите пожалуйста по такому непрофи вопросу.
Изучаю PHP, сделал поиск по статьям на тестовом сайте. Сайт на котором учусь на локальном сервере(Денвер).
Все вроде бы работает. Создал пять тестовых статей, и решил не заморачиваться (поскольку учусь еще) разместил в них абсолютно одинаковый текст, только картинки разные.

Сделал поисковик по словам в текстах статей. Добавляю в любую из статей новое слово. Вбиваю его в поиск по сайту - выдает эту статью.

Вношу это же слово еще в одну статью - снова вбиваю в поисковик - выдает уже 2 статьи как и нужно.

Но вот потом, когда я размещаю это слово уже в третью статью, и вбиваю его в поиск по сайту - он выдает мне сообщение такое же, которое я задал как если бы этого слова вообще не было ни в одной из статей. - "Не найдено".

Подскажите пожалуйста, в чем может быть причина? Может кто-нибудь сталкивался с подобным. База данных - mysql
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2017, 13:36
Ответы с готовыми решениями:

Реализация поиска по сайту - переход по станицам с сохранением запроса поиска
Всем известно что все запросы пользователя в данном случае хранятся в _GET массиве. Проблема такова...

Некорректная работа поиска
Добрый день! При попытке поиска нужной информации на сайте выдаются ссылки на несуществующие...

Удаление с запроса поиска точек, пробелов, символов (метод поиска по сайту)
Добрый день, знатоки, подскажите: Если клиент вбивает в поиск номер продукта (например:...

Создание поиска по сайту
Подскажите пожалуйста как реализовать поиск по сайту. Я имею: таблицу где прописаны все разделы...

6
Эксперт PHP
3102 / 2587 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
01.02.2017, 13:39 2
antlantis, код, нам нужен код!
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
01.02.2017, 13:58 3
antlantis, Во-первых нужно идти поэтапно. То есть делать var_dump. Если все же данные не верные, делать тот же запрос в mysql (phpmyadmin к примеру). Если снова не те данные, значит проблема не в PHP а в mysql
0
4 / 4 / 0
Регистрация: 07.08.2015
Сообщений: 97
01.02.2017, 18:39  [ТС] 4
вот весь код. Может нужно было только главную часть, извините если что, не опытен
HTML5
1
2
3
4
5
6
7
8
<!-- leftmenu -->
<div class=nav_title>Поиск</div>
<form action="view_search.php" method="POST" name="form_s">
<p>Поисковый запрос должен быть не менее 4-х символов</p>
<p><input name="search" type="text" size="25" maxlength="40">
<br>
<input name="submit_s" type="submit" value="Искать">
</p></form>

PHP
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* кнопка "поиск"*/
if (isset($submit_s))
{
if (empty($search) or strlen($search)<4)
    {exit ("<p>Вы ввели меньше 4-х символов.</p>");}
    $search = trim($search);
    $search = stripslashes ($search);
    $search = htmlspecialchars ($search);
}
    else {exit ("<p>Вы обратились к файлу без необходимых параметров.</p>");}
 
 
 
 
$result = mysql_query("SELECT id,title,description,date,author,mini_img,view,rating,qvote FROM data WHERE MATCH(text) AGAINST('$search')",$db);
 
 
    
if (!$result)
{
echo "<p>Запрос на выборку из БД не прошел. Сообщите администратору.<br>Код ошибки:</p>";
exit(mysql_error());
}
 
 
/*проверка на наличие записей*/
 
if (mysql_num_rows($result)>0)
{
$myrow = mysql_fetch_array($result);
do 
{
$r = $myrow['rating'] / $myrow['qvote'];
$r = intval($r);
 
printf 
(
"<br><table align='center' class='post'><tr><td class='post_title'>
<p class='post_name'><img class='mini' align='left' src='%s'><a href = 'view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата:%s</p>
<p class='post_adds'>Автор:%s</p>
</td></tr>
<tr><td>%s<p class='post_view'>Просмотров:%s Рейтинг: <img src='img/%s.gif'></p></td></tr>
</table><br><br>", $myrow["mini_img"], $myrow["id"], $myrow["title"], $myrow["date"], $myrow["author"], $myrow["discription"], $myrow["view"], $r
);
}
0
Эксперт PHP
3102 / 2587 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
02.02.2017, 12:09 5
Цитата Сообщение от antlantis Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
do
{
$r = $myrow['rating'] / $myrow['qvote'];
$r = intval($r);
 
printf 
(
"<br><table align='center' class='post'><tr><td class='post_title'>
<p class='post_name'><img class='mini' align='left' src='%s'><a href = 'view_post.php?id=%s'>%s</a></p>
<p class='post_adds'>Дата:%s</p>
<p class='post_adds'>Автор:%s</p>
</td></tr>
<tr><td>%s<p class='post_view'>Просмотров:%s Рейтинг: <img src='img/%s.gif'></p></td></tr>
</table><br><br>", $myrow["mini_img"], $myrow["id"], $myrow["title"], $myrow["date"], $myrow["author"], $myrow["discription"], $myrow["view"], $r
);
}
while где?

Не по теме:

Я не понимаю, где учат использовать do-while для обработки выборки?

0
KOPOJI
02.02.2017, 12:37
  #6

Не по теме:

Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Я не понимаю, где учат использовать do-while для обработки выборки?
это же стиль Е. Попова, с его уроков. Об этом ясно говорят do-while и $myrow

0
Kerry_Jr
02.02.2017, 12:45     Некорректная работа поиска по сайту
  #7

Не по теме:

Цитата Сообщение от KOPOJI Посмотреть сообщение
это же стиль Е. Попова
Точно! Никак запомнить не могу :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2017, 12:45

вывод поиска по сайту
подскажите, как сделать вывод поиска по тексту такого вида: есть искомый набор слов: $a =...

Скрипт поиска по сайту...
Народ помогите со скриптом поиска, на локальном сервере работает отлично () на хосте отказывается...

Скрипт поиска по сайту
вообщем ребят такая проблемка возникла, скрипт почему то выдает какие то странные символы,...

Скорость поиска по сайту
Возник вопрос: влияет ли на скорость поиска количество введенных слов? Например, запросы &quot;гайка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru