MySQL търсачка
form.php
<FORM method="post" action="?action=search"> <!-- или action="search.php" -->
<TABLE cellspacing=0 cellspaseing=0 border=0>
<tr>
<td>
<INPUT TYPE=text name="search" size=41 maxlength=255>
<INPUT type=submit VALUE="Търси">
</td></tr></TABLE>
</FORM>Тук направихме формата в която се пише думата за търсене.
search.php
<?
include('conf.php');
$search=$HTTP_POST_VARS['search'];
// Малка защита от хакерчета, не знам колко е надеждна. Променя < и > в < и >.
$search=str_replace("<", '<', $search);
$search=str_replace(">", '>', $search);
// Този ред прави търсената дума с малки букви т.е. СоФиЯ става софия
$search=strtolower($search);
// Тук търсим думата в базата данни в таблицата която сме присвоили на $table (след малко ще я присвоим). lower(kolona1) означава, че всички думи в колона1 ще бъдат видяни с малки букви както в примера показан горе. %$search% значи, че ако търсим за 'офи' търсачката ще искара 'софия' % замества букви или знаци в случея в началото и в края на думата или ако търсим 'кон' ще ни покаже 'конски'
$query=mysql_query("SELECT * FROM $table WHERE lower(kolona1) like '%$search%' or lower(kolona2) like '%$search%'");
// Тук вече изваждаме резултатите и ги подреждаме в <div> и всеки резултат във <fieldset>
echo "<div style=\"float: left; margin-left: 30px;\">";
while ($row = mysql_fetch_array($query)) {
// title е заглавие, url е адрес, descr е описание, това са имена на колони в таблицата $table.
echo "
<fieldset style=\"font-size: 12px; margin-top: 7px; width: 400px;\">
<legend>".$row['title']."</legend>
<br /><a href=\"$row[url]\" class=\"link3\" target=\"_blank\">".$row['descr']."</a>
</fieldset>";
}
echo "</div>";
?>След като направихме формата за търсене и самата търсачка е време да направим и таблицата в MySQL. В PhpMyAdmin създаваме таблица search.
CREATE TABLE `search` (
`id` int(10) NOT NULL auto_increment,
`title` text NOT NULL,
`url` text NOT NULL,
`descr` text NOT NULL,
PRIMARY KEY (id)
);Следва да попълним conf.php
<?
$hostname = "localhost";
$username = "Потребител";
$password = "Парола";
$db = "Име на базата данни";
/* Таблица в MySQL, в която се съхраняват данните */
$table = "search";
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не мога да създам връзка ");
@mysql_select_db("$db") or die("Не мога да избера базата данни ");
?>Сега вече нашата търсачка работи, но може би ще ни трябва и форма с която да добавяме записи в таблицата, защото няма да има полза от празна таблица.
submit.php
<fieldset style="width: 400px;">
<legend style="font-size:12px;"><b>Добави сайт в търсачката</b></legend>
<form method="post" action="?action=submit_in_search"> <!-- или submit_in_search.php -->
<table width="100%" border="0" cellspacing="0" cellpadding="3" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td class="form"> Име на сайта:</td>
<td><input type="text" name="title" size="27" class="forma"></td>
</tr>
<tr>
<td class="form"> Url:</td>
<td><input type="text" name="url" size="27" value="http://" class="forma"></td>
</tr>
<tr valign="top">
<td class="form"> Описание:</td>
<td><textarea name="descr" rows="7" cols="25" class="forma"></textarea></td>
</tr>
</tr>
<tr valign="top">
<td class="form"> Ключови думи:</td>
<td><textarea name="words" rows="7" cols="25" class="forma"></textarea></td>
</tr>
<tr><td></td><td><input type="submit" value="Добави" class="forma"></td></tr>
</table>
</form>
</fieldset>Тази форма изпраща въведените данни до submit_in_search.php който ги попълва в таблицата
<?
include('conf.php');
$words=$HTTP_POST_VARS['words'];
$title=$HTTP_POST_VARS['title'];
$url=$HTTP_POST_VARS['url'];
$descr=$HTTP_POST_VARS['descr'];
// Същата защита от псевдо хакери
$words=str_replace("<", '<', $words);
$words=str_replace(">", '>', $words);
$url=str_replace("<", '<', $url);
$url=str_replace(">", '>', $url);
$title=str_replace("<", '<', $title);
$title=str_replace(">", '>', $title);
$descr=str_replace("<", '<', $descr);
$descr=str_replace(">", '>', $descr);
// Добавяме данните в таблицата
$add_link = mysql_query("INSERT INTO `$table` (id, words, title, url, descr)". "VALUES ('NULL', '$words', '$title','$url','$descr')");
// Проверяваме дали данните са добавени и съобщаваме резултата
if (!$add_link)
{
echo "
<tr><td><font class=\"error\">
За съжеление, сайта не беше добавен в каталога
</font></td></tr>
";
}
else
{
echo "
<tr><td>
Сайтът беше добавен успешно! <a href=\"?action=submit.php\" class=\"link3\">Можете да добавите нов сайт.</a>
</td></tr>
";
}
?>

