Скуката убива да знаете! От нея реших да се помъча с един скрипт. Знанията не са на ниво, но мисля, че се справих Така кода е за търсачка като на CS-BG. Работи като търси въведените букви от потребителя във зададена от него ДБ и таблица name .
Ето го и кода, който не е много сложен.. Ще сложа и обяснения
index.php
Code: Select all
<?PHP
$server = "localhost"; //Хоста ни
$username = "root"; // Потребителя на хоста
$password = ""; // Паролата на хоста
$db_name = "search"; //Базата с данни
$connect = mysql_connect($server, $username, $password) or die (mysql_error()); // Свързвае с ДБ
mysql_select_db($db_name, $connect) or die (mysql_error()); // Свързване с ДБ №2
$options = array("Maps", "Skins", "Plugins"); // Какво да има в падащото меню. Къде да търси? Добавяте ново ето така: "Съдържание" , като отделяте със запетая от предишното
$all = count($options); //Брои зададените елементи в array-a по-горе
?>
<form action='' method='POST'>
Search: <input type='text' value='' name='search' /><br />
In: <select name='what'>
<?PHP
$i = 0; //Променлива $i да изкарва резултаите
while($i < $all) { //Докато променливата $i е по-малка от зададените елементи по-горе да се показват елементите.
echo "<option>".$options[$i]."</option>";
$i++; //$i + 1, т.е +1 на номерчето да изкара следващото
}
?>
</select><br />
<input type='submit' name='send' value=' Search ' />
</form>
<?PHP
$send = $_POST['send']; //Натискане на бутона "Search"
$search = htmlspecialchars(addslashes($_POST['search'])); //Съдържанието на търсенето
$in = $_POST['what']; //Къде да търси
if(isset($send)) { //Ако е натиснат бутона
if($search == NULL ) { //Ако няма въведена стойност да изкара еррор
echo "Какво търсите?";
} else { //Ако всичко е както трябва
header("Location: search.php?display=$search&in=$in"); //Препраща в search.php където вече се изкарват резултатите
exit; //Изход
}
} else {
echo "";
}
?>
Code: Select all
<?PHP
$server = "localhost"; //Хоста ни
$username = "root"; // Потребителя на хоста
$password = ""; // Паролата на хоста
$db_name = "search"; //Базата с данни
$connect = mysql_connect($server, $username, $password) or die (mysql_error()); // Свързвае с ДБ
mysql_select_db($db_name, $connect) or die (mysql_error()); // Свързване с ДБ №2
$search = $_GET['display']; //Взима въведената стойност ( думата за търсене )
$in = $_GET['in']; //Взима откъде да търси
$sql = mysql_query("SELECT name FROM $in WHERE NAME LIKE '%$search%'"); //Взимане на резултатите
$result = mysql_num_rows($sql); //Брои резултатите
$i = 1; //Пак променилва за номерче на резултата
if($result != 0 ) { //Ако резултатите са повече от 1 да ги изкарва
while($row=mysql_fetch_assoc($sql)){
$prom = $row['name']; //Изкарва заглавието
$var = array("$search"); //Заглавието както се изкарва
$vas = array("<b>$search</b>"); //Удебелява заглавието ( само търсената дума се удебелява )
$end = str_replace($var, $vas, $prom); //Заменя старото залгавие с удебеленото ( само търсената дума се удебелява )
echo "#".$i." ".$end."<br />"; //Изкарва резултата
$i++; //+1 на номерчето
}
echo "Общо резултати: ".$result; //Изкарва общо броя резултати
} else { // Ако няма намерени резултати
echo "Няма намерени резултати."; // Да изкара съобщението в кавички
}
?>