У цьому уроці я розповім про php пошук, який шукає в Базі Даних інформацію і робить посилання на них.
Ось скрипт самого пошуку:
<!-- Пошук -->
<form action="search.php" method="POST" onsubmit="javascript: if ((keyword.value=="")||(keyword.value=="Пошук...")) { return false; } else { return true; }">
<input name="keyword" onfocus="if (this.value=="Пошук...") this.value=""" value="Пошук..." style="font: 11px Verdana; height:14px; width:102px;" />
<input type="submit" name="send" value="Знайти" style="font: bold 11px Verdana; background-color:#FFFFFF; height:19px; width:50px;">
</form>
<!--Кінець Пошук -->
Ось такий вигляд має форма пошуку:
форма пошуку захищає від того, коли користувач нічого не запровадив.
Тепер в коді, який вище, ми бачимо таке:<form action="search.php"
Тут як раз search - це файл сторінки куди буде передаватися введена в пошуку інформація.
Тому ви можете там змінити на назву вашої сторінки, а якщо ні, то назвіть ваш файл search.php і в нього введіть наступний код:
<?
echo "<p>По вашому запиту:";
if (isset($_POST["keyword"])) {$keyword = $_POST["keyword"];}
$keyword = trim($keyword); text_com\\ прибираються зайві пробіли з початку і кінця рядка
$keyword = stripslashes($keyword); text_com\\видаляє екранування символів
$keyword = htmlspecialchars($keyword); text_com\\ замінює html теги на коди
echo "<b>$keyword</b>";
$search_query = "SELECT id, title, view FROM table WHERE title LIKE "%".strtoupper($keyword)."%" OR text LIKE "%".strtoupper($keyword)."%" LIMIT 100"; text_com\\ table - це ваша таблиця, де треба шукати
$query = mysql_query($search_query); text_com\\ Тут безпосередньо відбувається пошук
if(!$query)
{
echo "<p class="text">Пошук не здійснено. Код помилки:</p>";
echo exit(mysql_error());
}
if (mysql_num_rows($query) > 0)
{
$myrow = mysql_fetch_array($query);
do
{
printf("<p><a class ="post_link" href="articles.php?id=%s">%s</a><span class="post_view"> --> Переглядів: %s</span></p>",$myrow["id"],$myrow["title"],$myrow["view"]); \\ тут робимо посилання де знаходиться дана інформація.
}while ($myrow = mysql_fetch_array($query));
} else &echoquot;<p>Нічого не знайдено.";
?>
Як бачите php скрипт пошуку по базі даних не дуже складних, але має:
- Захист від злому.
- Захист від помилок.
- Простий в установці на ваш сайт.
Я думаю, що моя стаття про php пошук по базі даних mysql Вам допомогла.