[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ребята, нужна помощь...
Страницы: 1, 2, 3, 4
TurnOff
Добрый день! Есть проблемка... задачка такова:

Вывести форму, содержащую поле для ввода ключевой фразы и сопроводительный текст: «В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ. Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'»
После отправки формы необходимо осуществить поиск по таблице с единственным текстовым полем, по вышеописанному алгоритму.

Вроде бы всё правильно написал, а не работает... при переходе с html на search.php ничего не отображает... Посмотрите код, может я чего не заметил...

<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=ru">

</head>
<body>

<form
name="search" method="post" action="search.php">
<p>
В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ. Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'.</p>
<input
type="search" name="query" placeholder="Поиск">
<button
type="submit">Найти</button>
</form>

</body>
</html>



<?php

include("/db_connection.php"); // подключаемся к бд



function search ($query)
{
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);

if (!empty($query))
{
if (strlen($query) < 3) {
$text = '<p>Слишком короткий поисковый запрос.</p>';
} else if (strlen($query) > 128) {
$text = '<p>Слишком длинный поисковый запрос.</p>';
} else {
$q = "SELECT * FROM `words`";

$result = mysql_query($q);
while($row = mysql_fetch_array($result)){
$query = str_replace('*', '(.*)', $query);
$query = str_replace('?', '(.?)', $query);
if(preg_match('/^ '.$query.' $/', $row['name'])){
echo $row['name'];
}
}

}
}
else {
$text = '<p>Задан пустой поисковый запрос.</p>';
}

return $text;
}
?>
<?php

if (!empty($_POST['query'])) {
$search_result = search ($_POST['query']);
echo $search_result;
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.