pagination concept in php - Mostlikers

20 July, 2013

pagination concept in php

This post concept based on pagination its simplify to view count the number of the database value make paging method simple to access first last database values . I make the company employee status using pagination concept just try and download this coding.

pagination

View code         Download

This pagination concept having 2 file

  1. Database.php
  2. Pagination.php

Database.php

CREATE TABLE `signup`
 (
  `id` INT( ) AUTOINCREMENT ,
  `name` VARCHAR( 25 ) NOT NULL , 
  `dob` VARCHAR( 25 ) NOT NULL,
`status` VARCHAR( 25 ) NOT NULL
  )
Insert some sample value database insert minimum 5 members details

Pagination.php

Copy the blow coding to change the file name and give the $tablename=”tablename”  give the limit on $limit = 3; it’s view to the target page

<?php
include("conn.php"); //datbase
$tableName="pagenation";//database table name       
$targetpage = "pagenation.php"; // page name    
$limit = 1; // page display limit
$query = "SELECT COUNT(*) as num  FROM $tableName";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages['num'];

$stages = 3;
$page = mysql_escape_string($_GET['page']);
if($page){
$start = ($page - 1) * $limit; 
}else{
$start = 0; 
}   

// Get page data
$query1 = "SELECT * FROM $tableName LIMIT $start, $limit";
$result = mysql_query($query1);

// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;  
$next = $page + 1;                          
$lastpage = ceil($total_pages/$limit);      
$LastPagem1 = $lastpage - 1;    
$paginate = '';
if($lastpage > 1)
{   
$paginate .= "<div class='paginate'>";
// Previous
if ($page > 1){
$paginate.= "<a href='$targetpage?page=$prev'>previous</a>";
}else{
$paginate.= "<span class='disabled'>previous</span>";   }
// Pages    
if ($lastpage < 7 + ($stages * 2))  // Not enough pages to breaking it up
{   
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
}
}
elseif($lastpage > 5 + ($stages * 2))   // Enough pages to hide a few?
{
// Beginning only hide later pages
if($page < 1 + ($stages * 2))       
{
for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";       
}
// Middle hide some front and some back
elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";       
}
// End only hide early pages
else
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                    
}
}
}
// Next
if ($page < $counter - 1){ 
$paginate.= "<a href='$targetpage?page=$next'>next</a>";
}else{
$paginate.= "<span class='disabled'>next</span>";
}
$paginate.= "</div>";       
}
// pagination
?>

CSS


<style type="text/css">
.paginate
{
font-family:Arial, Helvetica, sans-serif;
padding: 3px;
margin: 3px;font-weight:bold;
}

.paginate a
{
padding:2px 15px 2px 5px;
margin:2px;
border:0 solid #999;
text-decoration:none;       
box-shadow:1px 1px 1px 1px #999999;
-moz-  box-shadow:1px 1px 1px 1px #999999;
-webkit- box-shadow:1px 1px 1px 1px #999999;
color: #666;font-weight:bold;
}
.paginate a:hover, .paginate a:active
{
border: 0 solid #999;
color:#F00; font-weight:bold;
}
.paginate span.current
{
margin: 2px;
padding: 2px 5px 2px 5px;
border: 0 solid #999;
box-shadow:1px 1px 1px 1px #999999;
-moz-  box-shadow:1px 1px 1px 1px #999999;
-webkit- box-shadow:1px 1px 1px 1px #999999;
font-weight: bold;
color: #F00;
}
.paginate span.disabled
{
padding:2px 5px 2px 5px;
margin:2px;
box-shadow:1px 1px 1px 1px #999999;
-moz-  box-shadow:1px 1px 1px 1px #999999;
-webkit- box-shadow:1px 1px 1px 1px #999999;
border:0 solid #eee;
color:#DDD;font-weight:bold;
}
</style> 

HTML

Already fetch the table its store $result variable so directly fetch the value
<table border="1" cellpadding="3" cellspacing="0" width="600px">
<tr><td>Name</td><td>DOB</td><td>Mark</td></tr>
<?php 
      while($row1=mysql_fetch_array($result))
      {
      $name1=$row1['name'];
      $dob=$row1['dob'];
      $status=$row1['status'];
          ?>
 <td><?php echo"$name1";?></td>
 <td><?php echo"$dob";?></td>
 <td><?php echo"$mark";?></td>
 
</tr>
 <?php }?>
<tr><td align="center" colspan="3">
<?php echo $paginate; ?>
</td></tr></table>

2 comments:

  1. good stuff... but try to use mysqli istead of old mysql

    ReplyDelete