Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21

Поиск сайта

22.04.2016, 21:58. Показов 1538. Ответов 37

Студворк — интернет-сервис помощи студентам
Не ищет ничего( При поиске на английском в результатах пусто, а при поиске на русском выдает, что ничего по данному запросу не найдено. В чем проблема? Как исправить?
PHP/HTML
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Поиск</title>
 </head>
 <body>
<form action='http://www.site.ru/search.php' method='get'>
     <input type='text' name='k' size='50' value='<?php echo $_GET['k']; ?>' />
     <input type='submit' value='Search'/>
     </form>
     <hr />
     <?php
        $k = $_GET['k'];
        $terms = explode (" ", $k);
        $query = "SELECT * FROM search WHERE ";
 
        foreach ($terms as $each) {
            $i++;
            if ($i == 1)
                $query .= "keywords LIKE '%$each%' ";
            else
                $query .= "OR keywords LIKE '%$each%' ";
        }
         
        //connect
        mysql_connect(localhost, user, password);
        mysql_select_db(bd);
 
 
        $query = mysql_query($query);
        $numrows = mysql_num_rows($query);
        if ($numrows > 0) {
 
            while ($row = mysql_fetch_assoc($query)) {
                  $id= $row['id'];
                $id = $row['title'];
                $id = $row['description'];
                $id = $row['keywords'];
                $id = $row['link'];
 
                echo "<h2><a href='$link'>$title</a></h2>
                $description<br /><br />";
 
 
        }
      }
        else
            echo "No results found for "<b>$k</b>"";
 
 
 
 
        //disconnect
        mysql_close();
 
 
 
 
     ?>
</body>
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2016, 21:58
Ответы с готовыми решениями:

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

Поиск по страницам внешнего сайта
Пишу сюда, как новичок этого дела. Читал литературу, нашел даже пример один(для Википедии) где выполнялся поиск по категориям, страницам и...

Парсинг сайта на поиск урл
Цель задачи создать фаил sitemap.xml Код нашел рабочий но обрабатывает одну страницу и собирает с неё все урл и выдаёт массив Вот...

37
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 14:25  [ТС]
Студворк — интернет-сервис помощи студентам
maruo, аааа)) Дошло. Сейчас попробую сделать...
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 14:31  [ТС]
Вот вроде сделал все, что Вы сказали...
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
47
48
49
50
51
52
53
54
55
56
<?php
header('Content-Type: text/html; charset=utf-8');
 
$c = mysqli_connect("localhost", "user", "password", "bd");
mysqli_set_charset($c, 'utf8');
 
$k = mysqli_real_escape_string($c, trim($_GET['k']));
$terms = explode (' ', $k);
$query = "SELECT * FROM search WHERE ";
 
$i = 1;
foreach ($terms as $each)
{
    if ($i == 1)
    {
        $query .= "keywords LIKE '%$each%' ";
    }
    else
    {
        $query .= "OR keywords LIKE '%$each%' ";
    }
 
    $i++;
}
 
$query = mysqli_query($c, $query)or die(mysqli_error($c));
if (mysqli_num_rows($c, $query) > 0)
{
    while ($row = mysqli_fetch_assoc($c, $query))
    {
        echo '<h2><a href="' . $row['link'] . '">' . $row['title'] . '</a></h2>' . $row['description'] . '<br /><br />';
    }
}
else
{
    echo 'No results found for <b>' . $k . '</b>';
}
 
mysqli_close($c);
?>
 
    <!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Поиск</title>
 </head>
 <body>
<form action='http://www.site.ru/search/search4.php' method='get'>
     <input type='text' name='k' size='50' value='<?php echo $_GET['k']; ?>' />
     <input type='submit' value='Search'/>
     </form>
     <hr />
 
</body>
</html>
Миниатюры
Поиск сайта  
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 14:51
ilyagoalie,
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');
 
$c = mysqli_connect("localhost", "testuser", "12345", "newrand");
if (!$c) { 
   printf("Невозможно подключиться к базе данных , код ошибки: %s\n", mysqli_connect_error()); 
   exit; 
}
mysqli_set_charset($c, 'utf8');
 
if(isset($_GET['k'])){
    $k = mysqli_real_escape_string($c, trim($_GET['k']));
 
    $terms = explode (' ', $k);
    $query = "SELECT * FROM search WHERE ";
 
    $i = 1;
    foreach ($terms as $each)
    {
    if ($i == 1)
    {
    $query .= "keywords LIKE '%$each%' ";
    }
    else
    {
    $query .= "OR keywords LIKE '%$each%' ";
    }
 
    $i++;
    }
 
    $query = mysqli_query($c, $query)or die(mysqli_error($c));
    if (mysqli_num_rows($c, $query) > 0)
    {
    while ($row = mysqli_fetch_assoc($c, $query))
    {
    echo '<h2><a href="' . $row['link'] . '">' . $row['title'] . '</a></h2>' . $row['description'] . '<br /><br />';
    }
    }
    else
    {
    echo 'No results found for <b>' . $k . '</b>';
    }
 
    mysqli_close($c);
    }
 
 
?>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Поиск</title>
</head>
<body>
    <form action='http://www.site.ru/search/search4.php' method='get'>
<input type='text' name='k' size='50' value="<?php if(!empty($_GET['k'])){echo $_GET['k'];} ?>" />
<input type='submit' value='Search'/>
</form>
<hr />
 
</body>
</html>
PHP
1
$c = mysqli_connect("localhost", "testuser", "12345", "newrand");
Сюда уже пишите свои данные от своей базы данных!
А не просто login password!

$c = mysqli_connect("localhost", "user", "password", "bd");
У вас БД так и называется bd? а имя пользователя тоже просто user? и пароль у вас password?

Добавлено через 12 минут
И еще маловероятно я уже в замешательстве что вы делаете не так, версия php какая?
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 14:56  [ТС]
maruo, ахах, я каждый раз пишу туда свои данные. Я просто не хочу, чтобы они были видны на форуме.
Цитата Сообщение от maruo Посмотреть сообщение
Сюда уже пишите свои данные от своей базы данных!
А не просто login password!
Добавлено через 4 минуты
http://www.sevsearch.ru/search/search5.php
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 15:01
ilyagoalie,

Вот отработал мой код который у меня на локальной машине.
Какая версия php?

И первая ошибка header проверьте хорошо что у вас перед <?php
даже пробелов быть не должно с новой строки все должно быть! В самом самом самом начале
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 15:02  [ТС]
Может дело в таблице?
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 15:06
ilyagoalie, нет,header ошибка возникает не из за таблицы.
прочитайте мой пост выше еще раз и проверьте!
2я ошибка потому что не находит нужного в таблице. что вы ищите (скорее всего)
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 15:15  [ТС]
Но ведь Вы сами писали код, в котором после этих строк идет подключение. Я чего-то недопонимаю.
Цитата Сообщение от maruo Посмотреть сообщение
до этих 2х строк вообще ничего не должно быть выводится подключаться!
PHP
1
2
<?php
header('Content-Type: text/html; charset=utf-8');
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 15:29
Цитата Сообщение от ilyagoalie Посмотреть сообщение
в котором после этих строк идет подключение
А я писал До этих строк ничего не должно выводится, ключевое слово "ДО"
Если там будет пробел табуляция символ и т.д выйдет ошибка!
Читайте внимательнее

Добавлено через 9 минут
Слегка не так выразился не до двух строк а то <?php
Не должно быть ничего , ни пробелов и тому подобного,ровно первой строкой с самого начала.
проверьте кодировку файла, преобразуйте в utf-8 без BOM мб какой символ там случайно образовался
1
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 15:35  [ТС]
maruo, ну, так у меня с самого начала. Сейчас читал на сайте http://cannot-modify-header-information.ru/ и тоже самое рекомендуют сделать, но не помогает(
Миниатюры
Поиск сайта  
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 15:55  [ТС]
maruo, ура! Я справился с этой ошибкой! Но как выводить результаты, которые расположены в таблице? При поиске пишет, что ничего не найдено и ошибка Warning: mysqli_num_rows() expects exactly 1 parameter, 2 given in /home/www/.../search/search5.php on line 32
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 16:12
ilyagoalie, проверяйте по порядку что уходит в поиск и что приходит
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 16:13  [ТС]
maruo, по идеи ошибка в этой строчке if (mysqli_num_rows($c, $query) > 0)
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
23.04.2016, 16:15
ilyagoalie, Ошибка не тут, сюда приходит не то что нужно, искать надо выше
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
23.04.2016, 19:04  [ТС]
maruo, в этой строчке? $query = mysqli_query($c, $query)or die(mysqli_error($c));
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
17.05.2016, 20:37  [ТС]
maruo, я немного запутался
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
17.05.2016, 22:23
ilyagoalie, Не понял?
0
 Аватар для ilyagoalie
0 / 0 / 0
Регистрация: 22.04.2016
Сообщений: 21
22.05.2016, 14:52  [ТС]
maruo, ну я перечитал много всякого и ошибок сейчас высвечивается гораздо больше. В итоге вернулся к первоначальной версии поиска, где выдавало ошибку Warning: mysqli_num_rows() expects exactly 1 parameter, 2 given in /home/www/.../search/search5.php on line 32 Как ее устранить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2016, 14:52

Поиск гугл для своего сайта
Пытаюсь прикрутить поиск на сайт http://sellfile.ru есть форма &lt;form action=&quot;&quot; method=&quot;get&quot; class=&quot;search-form&quot;...

Ядро для умного поиска. Алгоритм. Создать поиск для сайта
Доброго времени суток. Хочу реализовать поиск по статьям на сайте. И надеюсь на ваше помощь. Есть таблица, где мы храним айди...

Поиск сайта
Не мог найти конкретную инфу по этому. Всьо как мыло. Есть сайт про мойку машин. Как мне сделать так, чтоб человек в гугле написал мойка...

Поиск сайта в БД Мускл
У меня на сайте есть возможность добавлять адрес сайта в БД Мускл. Пользователь добавил сайт, к примеру, site.net.ru. То ли пользователь...

Поиск для сайта
Помогите сделать скрипт поиска для сайта. Поиск нужен не сильно замороченный.


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru