Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

[PHP]Помощь в создании поиска

Статус пользователя vovan4ik1997
сообщение 17.6.2014, 18:43
Сообщение #1


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Прошу помощи у знающих. Что требуется:

- Страница поиска по словами(готово)
- Запрос в БД и поиск по заданным словам(готово)
- Вывод из 2 полей из БД на страницу сайта(нету)

Есть страница поиска:

Скрытый текст
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
session_start ();
if (!$_SESSION['admin']) die ( Запрещено );
session_destroy ();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP, jQuery search demo</title>
<link rel="stylesheet" type="text/css" href="my.css">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">

$(function() {

    $(".search_button").click(function() {
        // получаем то, что написал пользователь
        var searchString    = $("#search_box").val();
        // формируем строку запроса
        var data            = 'search='+ searchString;

        // если searchString не пустая
        if(searchString) {
            // делаем ajax запрос
            $.ajax({
                type: "POST",
                url: "do_search.php",
                data: data,
                beforeSend: function(html) { // запустится до вызова запроса
                    $("#results").html('');
                    $("#searchresults").show();
                    $(".word").html(searchString);
               },
               success: function(html){ // запустится после получения резуотатов
                    $("#results").show();
                    $("#results").append(html);
              }
            });
        }
        return false;
    });
});
</script>

</head>
<body>
<h3 style="text-align:center;">Введите слово</h3>
<div id="container">
<div style="margin:20px auto; text-align: center;">
<form method="post" action="do_search.php">
    <input type="text" name="search" id="search_box" class='search_box'/>
    <input type="submit" value="Поиск" class="search_button" /><br />
</form>
</div>
<div>

<div id="searchresults">Результаты для <span class="word"></span></div>
<ul id="results" class="update">
</ul>

</div>
</div>

</body>
</html>


Вот файл запроса к бд:
Скрытый текст
Код
<?php
//получаем данные через $_POST
if (isset($_POST['search'])) {
    // подключаемся к базе
    include('db.php');
    $db = new db();
    // Фильтр
    $word = mysql_real_escape_string($_POST['search']);
    // Строим запрос
    $sql = "SELECT title FROM pages WHERE content LIKE '%" . $word . "%' ORDER BY title LIMIT 10";
    // Получаем результаты
    $row = $db->select_list($sql);
    if(count($row)) {
        $end_result = '';
        foreach($row as $r) {
            $result         = $r['title'];
            $bold           = '<span class="found">' . $word . '</span>';
            $end_result     .= '<li>' . str_ireplace($word, $bold, $result) . '</li>';
        }
        echo $end_result;
    } else {
        echo '<li>По вашему запросу ничего не найдено</li>';
    }
}
?>


Все отлично работает, но я хочу вывести кроме "title" еще и поле "text". Запрос составить я смогу, но как сделать вывод на страницу двух полей титл и текст?
Скажу сразу зачем, чтобы могли подсказать, как сделать удобнее. У меня есть вопросы и ответы, нужно при поиске вопросы выводить вопрос+ответ. Текста много.
Спасибо thank_you2.gif

Спасибо за помощь onotole give_rose.gif

Отредактировал: vovan4ik1997, - 18.6.2014, 21:40


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя onotole
сообщение 17.6.2014, 19:37
Сообщение #2


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

$r['title'] - title
$r['text'] - text
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Revelation
сообщение 17.6.2014, 19:45
Сообщение #3
Стаж: 13 лет

Сообщений: 1051
Благодарностей: 401
Полезность: 1075

Код
$sql = "SELECT title, text FROM pages WHERE ...

Далее вывод, как выше отписали.

Отредактировал: Revelation, - 17.6.2014, 19:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 17.6.2014, 19:48
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Вообщем почитал информацию, понял много чего для себя. Как записать переменную 2 поля? Щас такое:

Код
$result  = $r['text'];


А как поместить еще $r['title']


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 17.6.2014, 20:11
Сообщение #5


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Код:

<?php
//получаем данные через $_POST
if (isset($_POST['search'])) {
// подключаемся к базе
include('db.php');
$db = new db();
// Фильтр
$word = mysql_real_escape_string($_POST['search']);
// Строим запрос
$sql = "SELECT title FROM pages WHERE content LIKE '%" . $word . "%' ORDER BY title LIMIT 10";
// Получаем результаты
$row = $db->select_list($sql);
if(count($row)) {
$end_result = '<ul>';
$end_result .= '<li>Результаты по запросу <span class="bold">'.$word.'</span></li>';
foreach($row as $r) {
$end_result .= '<li>' . htmlspecialchars($r['title'], ENT_QUOTES) . '</li>';
$end_result .= '<li>' . htmlspecialchars($r['text'], ENT_QUOTES) . '</li>';
}
$end_result .= '</ul>';
echo $end_result;
} else {
echo '<ul><li>По вашему запросу ничего не найдено</li></ul>';
}
}
?>


Отредактировал: onotole, - 17.6.2014, 20:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Esecman
сообщение 17.6.2014, 20:23
Сообщение #6
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

в 1 посте исправьте...

Код:
if (!$_SESSION['admin']) die ("Запрещено");
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: