How to make PHP Pagination With Example and Demo?

In this dynamic pagination calculation in php demo example We are going to step by step learn how to create paginations with next and previous or Advance Level feature using PHP and MySQLi best Example with Full Source code download.

PHP Code : simple paginations in php

<?php  
$servername='localhost'
$username='root';
$password='';
$dbname = "gandhi_shops";
$conn=mysqli_connect($servername,$username,$password,"$dbname");
if(!$conn){
die('Could not Connect My Sql:' .mysql_error());
}
$limit = 10;  
if (isset($_GET["page"])) {
	$page  = $_GET["page"]; 
	} 
	else{ 
	$page=1;
	};  
$start_from = ($page-1) * $limit;  
$productsData = mysqli_query($conn,"SELECT * FROM user_table ORDER BY userid ASC LIMIT $start_from, $limit");
?>

Also Read: php paginations example with code download

Read Also:  how to install PHP Accelerator in Xampp

HTML Code with Paginations Link : paginations in php

<!DOCTYPE html>
<html lang="en">
<head>
  <title>paginations in php demo - www.pakainfo.com</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</head>
<body>
<table class="table table-bordered table-striped">  
<thead>  
<tr>  
<th>productid</th>  
<th>Product name</th>
<th>Product Desc</th>
 <th>Category name</th>
<th>Product Code</th> 
</tr>  
<thead>  
<tbody>  
<?php  
while ($row = mysqli_fetch_array($productsData)) {  
?>  
            <tr>  
				<td><?php echo $row["productid"]; ?></td>  
				<td><?php echo $row["product_name"]; ?></td>
				<td><?php echo $row["product_desc"]; ?></td>
				<td><?php echo $row["category"]; ?></td>
				<td><?php echo $row["pcode"]; ?></td>			
            </tr>  
<?php  
};  
?>  
</tbody>  
</table>  
<?php  

$productsData_db = mysqli_query($conn,"SELECT COUNT(id) FROM product_table"); 
$row_db = mysqli_fetch_row($productsData_db);  
$total_products = $row_db[0];  
$all_pages_count = ceil($total_products / $limit); 
/* echo  $all_pages_count; */
$htmlbindPageinationUrl = "<ul class='pagination'>";  
for ($i=1; $i<=$all_pages_count; $i++) {
              $htmlbindPageinationUrl .= "<li class='page-item'><a class='page-link' href='pagination.php?page=".$i."'>".$i."</a></li>";	
}
echo $htmlbindPageinationUrl . "</ul>";  
?>

</body>
</html>

pagination in php demo with Complete Example

index.php

<?php  
$servername='localhost'
$username='root';
$password='';
$dbname = "gandhi_shops";
$conn=mysqli_connect($servername,$username,$password,"$dbname");
if(!$conn){
die('Sorry, Could not Connect My Sql:' .mysql_error());
}
$limit = 10;  
if (isset($_GET["page"])) {
	$page  = $_GET["page"]; 
	} 
	else{ 
	$page=1;
	};  
$start_from = ($page-1) * $limit;  
$productsData = mysqli_query($conn,"SELECT * FROM product_table ORDER BY productid ASC LIMIT $start_from, $limit");
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>paginations in php demo - www.pakainfo.com</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</head>
<body>
<table class="table table-bordered table-striped">  
<thead>  
<tr>  
<th>productid</th>  
<th>Product name</th>
<th>Product Desc</th>
 <th>Category</th>
<th>Product Code</th> 
</tr>  
<thead>  
<tbody>  
<?php  
while ($row = mysqli_fetch_array($productsData)) {  
?>  
            <tr>  
				<td><?php echo $row["productid"]; ?></td>  
				<td><?php echo $row["product_name"]; ?></td>
				<td><?php echo $row["product_desc"]; ?></td>
				<td><?php echo $row["category"]; ?></td>
				<td><?php echo $row["pcode"]; ?></td>			
            </tr>  
<?php  
};  
?>  
</tbody>  
</table>  
<?php  

$productsData_db = mysqli_query($conn,"SELECT COUNT(id) FROM product_table"); 
$row_db = mysqli_fetch_row($productsData_db);  
$total_products = $row_db[0];  
$all_pages_count = ceil($total_products / $limit); 
/* echo  $all_pages_count; */
$htmlbindPageinationUrl = "<ul class='pagination'>";  
for ($i=1; $i<=$all_pages_count; $i++) {
              $htmlbindPageinationUrl .= "<li class='page-item'><a class='page-link' href='pagination.php?page=".$i."'>".$i."</a></li>";	
}
echo $htmlbindPageinationUrl . "</ul>";  
?>

</body>
</html>

Also Read: dynamic paginations-code-in-php-with-next-and-previous-demo in php with mysql example

Read Also:  PHP Pagination Class tutorial with next and previous

Related FAQ

Here are some more FAQ related to this Article:

  1. Read Also:  PHP Pagination demo – Pagination in PHP with example script
  2. Read Also:  Simple PHP Pagination Example Tutorial
  3. Read Also:  pagination code in php with next and previous demo
  4. Read Also:  PHP Ajax Image Upload Resize Crop using jQuery
  5. Read Also:  PHP file_get_contents() function Example
  6. Read Also:  php send mail attachment with Pear Mail
  7. Read Also:  jquery radio button checked
  8. Read Also:  PHP Get Folder Path From File Path Examples
  9. Read Also:  Pagination with jQuery Ajax PHP and MySQL
  10. Read Also:  PHP Server Side Form Validation | clear form after submit