Търсачка със странициране
Публикувана на 02 ное 2008, в 14:01 часаДобавена от Златко в категория PHP, SQL
Ето най-накрая да напиша нещо и в тази категория.Понеже от няколко дни ,все не ми остава време да го напиша , днеска с кафето ми се стори много приятна идея.Та ето за какво иде реч ...
Първо си създаваме един файл index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title> Search Engine</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<div align="center">
<form action="search.php" method="post">
<input type="text" name="search" />
<input type="submit" value="Търси" />
</form>
</div>
</body>
</html>
След него следва най-важният файл search.php
<?php
include("conf.php");
$search = htmlspecialchars(addslashes($_POST['search']));
$sql = mysql_query("SELECT $search2 FROM $search1 WHERE text LIKE '%$search%' OR author LIKE '%$search%'")or die(mysql_error());
# Ако искате още допълнителни полета , добавете ги по същия начин WHERE нещо LIKE '%$search%' OR друго-нещо LIKE '%$search%'
$pages = mysql_num_rows($sql);
if($pages == NULL || $pages == 0){echo"Няма намерени резултати";}
else{
$pp = "2"; // По колко резултата искате да изкарате
$pages = ceil($pages/$pp);
if(!isset($_GET['page'])){$page = 1;}else{$page = htmlspecialchars(addslashes($_GET['page']));}
$limit = ( $pp * $page ) - $pp;
$mysql = mysql_query("SELECT $search2 FROM $search1 WHERE text LIKE '%$search%' OR author LIKE '%$search%' ORDER BY id DESC LIMIT $limit,$pp")or die(mysql_error());
while($row = mysql_fetch_array($mysql)){
echo" $row[author] -> $row[text] <br /> <br /> ";
}
$actual = "<b>$page</b>";
if($page < $pages){
$firstpage = "<a href='?page=1'>««</a>";
$prev = $page - 1;
$prevpage = "<a href='?page=$prev'>«</a>";
$next = $page + 1;
$nextpage = "<a href='?page=$next'>»</a>";
$finalpage = "<a href='?page=$pages'>»»</a>";
}
if($page == 1){
$firstpage = "««";
$prevpage = "«";
$next = $page + 1;
$nextpage = "<a href='?page=$next'>»</a>";
$finalpage = "<a href='?page=$pages'>»»</a>";
}
if($pages == $page){
if($pages > 1){
$firstpage = "<a href='?page=1'>««</a>";
$prev = $page - 1;
$prevpage = "<a href='?page=$prev'>«</a>";
$next = $page + 1;
$nextpage = "»";
$finalpage = "»»";
}
else{
$firstpage = "««";
$prevpage = "«";
$nextpage = "»";
$finalpage = "»»";
}
}
elseif(($pages == 1) && ($pages == 0)){
$firstpage = "««";
$prevpage = "«";
$nextpage = "»";
$finalpage = "»»";
}
echo " $firstpage $prevpage $actual $nextpage $finalpage <br />";
$sql = mysql_query("SELECT $search2 FROM $search1 WHERE text LIKE '%$search%' OR author LIKE '%$search%' ORDER BY id DESC")or die(mysql_error());
$mres = mysql_num_rows($sql)or die(mysql_error());
echo " Общо $mres резултата ";
}
?>
И накрая един файл conf.php
<?php
mysql_connect("localhost","ПОТРЕБИТЕЛ","ПАРОЛА"); // Тук знаете какво трябва да оправите
mysql_select_db("ДБ"); // Тук също
mysql_query("SET CHARACTER SET cp1251"); // Това е предпазна мярка ,ако тръгнат да ви излизат йероглифи
$search1 = "laf_text"; // тук напишете полето ,от където ще търсите
$search2 = "text,author"; // тук напишете какво ще ви трябва да визуализирате (разделяйте ги със запетайки)
?>
Тъй като си го пробвах на моя локалхост , възможно е да съм оставил нещо - което е било за моите бази данни и данни.Така ,че не се притеснявайте да питате - ако объркате нещо







