Selasa, 09 Juni 2015
On 21.45 by Zuhdi Amin No comments
PHP & MySQL Tutorial | Pagination in Search Engine
For better understanding of the source code please watch the video first.In this Post I will discuss about pagination in Search Engine using PHP & MySQL. I will use my search engine source code & add pagination to that script. So you can have a look at How to create a search engine in PHP first. That will definitely help you to understand easily.
Please create two page first. One is “index.php” & another one is “search.php”.
Then follow the steps written below:
At first create a table inside your database. create 4 columns inside that table. In my script I named those column as “id”, “title”, “description”, “url” . For “id” choose INT type, index it as PRIMARY & choose auto increment. For other fields you can simply choose the type as TEXT. Once you are done with the database then follow the instructions given below:
please paste this code inside index.php
STEP: 1
<html> <head> <title>Title of your search engine</title> </head> <body> <form action='search.php' method='GET'> <center> <h1>My Search Engine</h1> <input type='text' size='90' name='search'></br></br> <input type='submit' name='submit' value='Search source code' ></br></br></br> </center> </form> </body> </html>Then, please add this code inside search.php
<?php $button = $_GET ['submit']; $search = $_GET ['search']; if(strlen($search)<=1) echo "Search term too short"; else{ echo "You searched for <b>$search</b> <hr size='1'></br>"; mysql_connect("mysql_host_name","mysql_username","mysql_password"); mysql_select_db("database_name"); $search_exploded = explode (" ", $search); $x = ""; $construct = ""; foreach($search_exploded as $search_each) { $x++; if($x==1) $construct .="title LIKE '%$search_each%'"; else $construct .="AND title LIKE '%$search_each%'"; } $constructs ="SELECT * FROM database_table_name WHERE $construct"; $run = mysql_query($constructs); $foundnum = mysql_num_rows($run); if ($foundnum==0) echo "Sorry, there are no matching result for <b>$search</b>.</br></br>1. Try more general words. for example: If you want to search 'how to create a website' then use general keyword like 'create' 'website'</br>2. Try different words with similar meaning</br>3. Please check your spelling"; else { echo "$foundnum results found !<p>"; $per_page = 1; $start = isset($_GET['start']) ? $_GET['start']: ''; $max_pages = ceil($foundnum / $per_page); if(!$start) $start=0; $getquery = mysql_query("SELECT * FROM database_table_name WHERE $construct LIMIT $start, $per_page"); while($runrows = mysql_fetch_assoc($getquery)) { $title = $runrows ['title']; $desc = $runrows ['description']; $url = $runrows ['url']; echo " <a href='$url'><b>$title</b></a><br> $desc<br> <a href='$url'>$url</a><p> "; } //Pagination Starts echo "<center>"; $prev = $start - $per_page; $next = $start + $per_page; $adjacents = 3; $last = $max_pages - 1; if($max_pages > 1) { //previous button if (!($start<=0)) echo " <a href='search.php?search=$search&submit=Search+source+code&start=$prev'>Prev</a> "; //pages if ($max_pages < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up { $i = 0; for ($counter = 1; $counter <= $max_pages; $counter++) { if ($i == $start){ echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'><b>$counter</b></a> "; } else { echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'>$counter</a> "; } $i = $i + $per_page; } } elseif($max_pages > 5 + ($adjacents * 2)) //enough pages to hide some { //close to beginning; only hide later pages if(($start/$per_page) < 1 + ($adjacents * 2)) { $i = 0; for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) { if ($i == $start){ echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'><b>$counter</b></a> "; } else { echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'>$counter</a> "; } $i = $i + $per_page; } } //in middle; hide some front and some back elseif($max_pages - ($adjacents * 2) > ($start / $per_page) && ($start / $per_page) > ($adjacents * 2)) { echo " <a href='search.php?search=$search&submit=Search+source+code&start=0'>1</a> "; echo " <a href='search.php?search=$search&submit=Search+source+code&start=$per_page'>2</a> .... "; $i = $start; for ($counter = ($start/$per_page)+1; $counter < ($start / $per_page) + $adjacents + 2; $counter++) { if ($i == $start){ echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'><b>$counter</b></a> "; } else { echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'>$counter</a> "; } $i = $i + $per_page; } } //close to end; only hide early pages else { echo " <a href='search.php?search=$search&submit=Search+source+code&start=0'>1</a> "; echo " <a href='search.php?search=$search&submit=Search+source+code&start=$per_page'>2</a> .... "; $i = $start; for ($counter = ($start / $per_page) + 1; $counter <= $max_pages; $counter++) { if ($i == $start){ echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'><b>$counter</b></a> "; } else { echo " <a href='search.php?search=$search&submit=Search+source+code&start=$i'>$counter</a> "; } $i = $i + $per_page; } } } //next button if (!($start >=$foundnum-$per_page)) echo " <a href='search.php?search=$search&submit=Search+source+code&start=$next'>Next</a> "; } echo "</center>"; } } ?>
Langganan:
Posting Komentar (Atom)
Search
Popular Posts
-
Menggambar Obat Nyamuk Bakar dengan Menu Spiral Tool di CorelDRAW Kali ini aku akan membagi tip cara membuat objek spiral, sebagai obj...
-
kuncinya cukup sabar dan ikhlas seberat apapun beban hidup insya alloh akan terasa ringan
-
Cara Membuat Aplikasi Android dengan Mudah Aplikasi Android (Android APK) adalah hal yang sangat akrab dengan kita, besar sekali permin...
-
Emas Menguat Setelah Kekhawatiran Yunani Memicu Permintaan Haven Tuesday, 9 June 2015 21:41 WIB | PRECIOUS METALS | EMAS Bullio...
-
10 Tips Menjadi Orang Sabar in Psikologi , Tips dan Trik , Tips Sukses - on 18:40 Kesabaran adalah salah satu k...
-
Sampah Plastik, Pengganti Bahan Bakar Kehidupan manusia saat ini tidak terlepas dari penggunaan plastik. Namun disi...
-
kau selalu hadir menghampiriku saat aku menatap y kau menari2 mengikuti irama yg indah dan gerakan sesui bentuk huruf hijaiyah dan t...
-
SEKEDAR MOTIFASI Kalau tujuan akhirmu adalah sebuah nilai dikertas, maka umur dari tujuanmu sama dengan umur tinta printer. semakin lunt...
-
Mengirim pesan Baru di Gmail? Berikut adalah panduan langkah demi langkah tentang menulis dan mengirim pesan: Klik tombol Tulis d...
-
Cara Menulis Huruf Arab di Microsoft Word Windows 8 Postingan kali ini saya akan akan share cara menulis arab di Ms Word windows ...
Recent Posts
Sample Text
Blog Archive
- Juni (70)
Diberdayakan oleh Blogger.
0 komentar:
Posting Komentar