Поиск по отдельной таблице БД
-
Создаю страницу со своей формой
<form name="search" method="post" action="#"> <input type="search" name="query" placeholder="Поиск"> <button type="submit">Поиск</button> </form>В action вставляю адрес страницы, где находиться скрипт поиска по БД wordpress, в которой я сделал дополнительную таблицу. При попытке поиска, после перехода на нужную страницу происходит ошибка «возникли технические сложности». Если встраиваю скрипт в шаблон (потом создаю новую страницу по шаблону), то после перехода на страницу отрисовка страницы заканчивается в месте начале скрипта. Тестил на денвере — все работает. На боевой версии нет.
Скрипт такой:
<?php function connectDB (){ define('DB_HOST', 'host'); define('DB_USER', 'user'); define('DB_PASS', 'pass'); define('DB_NAME', 'name'); $dbconn = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Ошибка соединения с базой данных! " . mysql_error()); mysql_select_db(DB_NAME); mysql_query('SET NAMES utf8'); return $dbconn; } function closeDB($dbconn){ mysql_close($dbconn); } function search ($query) { $text = ''; $query = trim($query); $query = strip_tags($query); $query = mysql_real_escape_string($query); if (!empty($query)){ if (strlen($query) < 4) { $text = '<p>короткий поисковый запрос.</p>'; }elseif (strlen($query) > 128) { $text = '<p>длинный поисковый запрос.</p>'; } else { $sql = "SELECT <code>cad_number</code>, <code>cad_sum</code> FROM <code>cadastrsum</code> WHERE <code>cad_number</code> LIKE '%$query%'"; $result = mysql_query($sql); $num = mysql_num_rows($result); if ( $num > 0) { $row = mysql_fetch_assoc($result); $text .= '<p>По вашему запросу'; $text .= ' найдено '.$num.' совпадений</p>' ; do { $text .= '<p> Для объекта <strong>'.$row['cad_number'].'</strong> стоимость составляет:</p>'; $text .= '<p>'.$row['cad_sum'].' руб.</p>'; } while ($row = mysql_fetch_assoc($result)); } else { $text = '<p>По вашему запросу ничего не найдено.</p>'; } } }else { $text = '<p>Задан пустой поисковый запрос.</p>'; } return $text; } ///////////// Сам скрипт обработчик /////////////// if (isset ($_POST['query'])){ // Открываем соединение с базой данных $connect = connectDB(); $search_result = search ($_POST['query']); echo $search_result; // Закрываем соединение с базой данных closeDB ($connect); } ?>Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
Тема «Поиск по отдельной таблице БД» закрыта для новых ответов.