X

php pagination code example using MySql database

php-pagination-screenshot

Here is a working code for pagination using PHP and MySql database. Its is tested and working fine on servers. you can set the limit of display items on page by editing the limit line. Below is the screenshot of the webpage which looks likes after implementing the code.

Pagination code

<?php
 
include("connect-db.php"); // Add your database connections
 
 
	$sql5 = mysql_query("select * from table where ID='$tag'");
	$row5=mysql_fetch_array($sql5);
	$flag=0;
	$adjacents = 3;
	$query = "SELECT COUNT(*) as num FROM table where Is_approve='1'"; // you need to change this query according to your requirements
	$total_pages = mysql_fetch_array(mysql_query($query));
	$total_pages = $total_pages[num];
	$targetpage = "search.php"; 	
	$limit =15;		
 
$page = $_GET['page'];
 
if($page) 
	$start = ($page - 1) * $limit; 			
else
	$start = 0;		
$sql = "SELECT * FROM sell_property where sell_property.Is_approve='1'  ORDER BY Date DESC LIMIT $start, $limit"; // you need to change this query according to your requirements
$result = mysql_query($sql);
	if ($page == 0) 
	$page = 1;					
	$prev = $page - 1;							
	$next = $page + 1;							
	$lastpage = ceil($total_pages/$limit);		
	$lpm1 = $lastpage - 1;						
	$pagination = "";
 
if($lastpage > 1){	
	$pagination .= "<div class=\"pagination\">";
	if ($page > 1) 
	$pagination.= "<a href=\"$targetpage?page=$prev\">&laquo; previous</a>";
else
	$pagination.= "<span class=\"disabled\">&laquo; previous</span>";	
	if ($lastpage < 7 + ($adjacents * 2))	
{	
for ($counter = 1; $counter <= $lastpage; $counter++){ 
	if ($counter == $page)
	$pagination.= "<span class=\"current\">$counter</span>";
	else
	$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";	
}
}
elseif($lastpage > 5 + ($adjacents * 2)){
if($page < 1 + ($adjacents * 2))		
{
	for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
	if ($counter == $page)
	$pagination.= "<span class=\"current\">$counter</span>";
	else
	$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
}
	$pagination.= "...";
	$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
	$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
}
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)){
	$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
	$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
	$pagination.= "...";
	for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
	{
	if ($counter == $page)
	$pagination.= "<span class=\"current\">$counter</span>";
	else
	$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
	}
	$pagination.= "...";
	$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
	$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
	}else
	{$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
	$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
	$pagination.= "...";
	for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
	{
	if ($counter == $page)
	$pagination.= "<span class=\"current\">$counter</span>";
	else
	$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
	}}}
	if ($page < $counter - 1) 
	$pagination.= "<a href=\"$targetpage?page=$next\">next &raquo;</a>";
	else
	$pagination.= "<span class=\"disabled\">next &raquo;</span>";
	$pagination.= "</div>\n";		
	}
?>
 
 
<?php  echo $pagination;?>