SlideShare a Scribd company logo
Pagination in PHP
First of all we create a table in the database. Suppose we have ’user’ table in the
database. Like as following image.

Now we create database connectivity in the confg.php file.
Config.php
<?php
$dbhost= "localhost";
$dbuser= "root";
$dbpass= "";
$dbname= "pagination3";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to
database");
mysql_select_db($dbname);
?>
Index.php
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pagination in PHP</title>
<style>
.paginate {
font-family:Arial, Helvetica, sans-serif;
padding: 3px;
margin: 3px;
}
.paginate a {
padding:2px 5px 2px 5px;
margin:2px;

www.vineetsaini.wordpress.com
Pagination in PHP
border:1px solid #999;
text-decoration:none;
color: #666;
}
.paginate a:hover, .paginate a:active {
border: 1px solid #999;
color: #000;
}
.paginate span.current {
margin: 2px;
padding: 2px 5px 2px 5px;
border: 1px solid #999
font-weight: bold;
background-color: #999;
color: #FFF;
}
.paginate span.disabled {
padding:2px 5px 2px 5px;
margin:2px;
border:1px solid #eee;
color:#DDD;
}
li{
padding:4px;
margin-bottom:3px;
background-color:#FCC;
list-style:none;
}
ul{margin:6px;
padding:0px;
}
</style>
</head>
<body>
<?php
include('config.php');
$tableName="user";
$targetpage = "index.php";
$limit = 2;
$query = "SELECT COUNT(*) as num FROM $tableName";
$total_pages = mysql_fetch_array(mysql_query($query));

www.vineetsaini.wordpress.com
Pagination in PHP
$total_pages = $total_pages['num'];
$stages = 3;
if(isset($_GET['page']))
{
$page = mysql_escape_string($_GET['page']);
}
else
{
$page=0;
}
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++)

www.vineetsaini.wordpress.com
Pagination in PHP
{
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

www.vineetsaini.wordpress.com
Pagination in PHP
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>";
}
echo $total_pages.' Results';
// pagination
echo $paginate;
?>
<table border='1' cellpadding="5" cellspacing="0">
<tr>

www.vineetsaini.wordpress.com
Pagination in PHP
<th>Id</th>
<th>Name</th>
<th>Mobile</th>
<th>Address</th>
</tr>
<?php
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['mobile'].'</td>';
echo '<td>'.$row['address'].'</td>';
echo '</tr>';
}
?>
</table>
</body>
</html>
Output

www.vineetsaini.wordpress.com

More Related Content

PDF
Country State City Dropdown in PHP
PDF
Add edit delete in Codeigniter in PHP
TXT
My shell
KEY
Introduction à CoffeeScript pour ParisRB
PDF
Pemrograman Web 8 - MySQL
TXT
Daily notes
PPTX
21. CodeIgniter search
PPTX
15. CodeIgniter editarea inregistrarilor
Country State City Dropdown in PHP
Add edit delete in Codeigniter in PHP
My shell
Introduction à CoffeeScript pour ParisRB
Pemrograman Web 8 - MySQL
Daily notes
21. CodeIgniter search
15. CodeIgniter editarea inregistrarilor

What's hot (20)

PDF
Pemrograman Web 9 - Input Form DB dan Session
PDF
Dependency Injection
PDF
PHP and Rich Internet Applications
PPTX
Pitfalls to Avoid for Cascade Server Newbies by Lisa Hall
PDF
PHP and Rich Internet Applications
PPTX
Let's write secure Drupal code!
PDF
How to work with legacy code PHPers Rzeszow #2
PDF
How to work with legacy code
PDF
Jqeury ajax plugins
PDF
Tips of CakePHP and MongoDB - Cakefest2011 ichikaway
PDF
Why Hacking WordPress Search Isn't Some Big Scary Thing
PPTX
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
ODP
PPTX
Tax management-system
PDF
Mysql & Php
PDF
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
PDF
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
ODP
KEY
Zf Zend Db by aida
PPTX
DrupalCamp Foz - Novas APIs Drupal 7
Pemrograman Web 9 - Input Form DB dan Session
Dependency Injection
PHP and Rich Internet Applications
Pitfalls to Avoid for Cascade Server Newbies by Lisa Hall
PHP and Rich Internet Applications
Let's write secure Drupal code!
How to work with legacy code PHPers Rzeszow #2
How to work with legacy code
Jqeury ajax plugins
Tips of CakePHP and MongoDB - Cakefest2011 ichikaway
Why Hacking WordPress Search Isn't Some Big Scary Thing
Let's write secure Drupal code! - 13.09.2018 @ Drupal Europe, Darmstadt, Germany
Tax management-system
Mysql & Php
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011
WordPress Kitchen 2014 - Александр Стриха: Кеширование в WordPress
Zf Zend Db by aida
DrupalCamp Foz - Novas APIs Drupal 7
Ad

Viewers also liked (20)

PDF
Dropdown List in PHP
PDF
Computer Fundamentals
PDF
Implode & Explode in PHP
PDF
Browser information in PHP
PDF
SQL Limit in PHP
PDF
CSS in HTML
PDF
Programming in C
PDF
MVC in PHP
PDF
GET and POST in PHP
PDF
Indexes: The neglected performance all rounder
PDF
Pagination Done the Right Way
PDF
Practice exam php
PDF
PHP Technical Questions
PDF
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technology
PPT
Chapter 1 computer hardware and flow of information
PDF
SQL Transactions - What they are good for and how they work
PDF
Top 100 PHP Interview Questions and Answers
PDF
Top 100 .Net Interview Questions and Answer
PDF
Top C Language Interview Questions and Answer
PDF
Modern SQL in Open Source and Commercial Databases
Dropdown List in PHP
Computer Fundamentals
Implode & Explode in PHP
Browser information in PHP
SQL Limit in PHP
CSS in HTML
Programming in C
MVC in PHP
GET and POST in PHP
Indexes: The neglected performance all rounder
Pagination Done the Right Way
Practice exam php
PHP Technical Questions
NoSQL? No, SQL! - SQL, the underestimated "Big Data" technology
Chapter 1 computer hardware and flow of information
SQL Transactions - What they are good for and how they work
Top 100 PHP Interview Questions and Answers
Top 100 .Net Interview Questions and Answer
Top C Language Interview Questions and Answer
Modern SQL in Open Source and Commercial Databases
Ad

Similar to Pagination in PHP (20)

DOCX
Coding part
PPS
Creating a-pagination-with-php
PPTX
System performance tuning
PDF
Developing web applications
DOC
Software development
PDF
Php tutorial handout
PDF
Forms and Databases in PHP
PPT
PPTX
Phphacku iitd
PPTX
Php basics
PDF
PHP Course in pune , PHP Training in Pimpri chinchwad ,PHP training in Pune
PDF
-- index-php --php include 'view-header-php'- -- -main- -nav-.pdf
PPTX
PPTX
Software development
PPT
Php mysql training-in-mumbai
PPTX
Php with mysql ppt
PDF
Introduction To CodeIgniter
DOC
Creating a Simple PHP and MySQL-Based Login System
Coding part
Creating a-pagination-with-php
System performance tuning
Developing web applications
Software development
Php tutorial handout
Forms and Databases in PHP
Phphacku iitd
Php basics
PHP Course in pune , PHP Training in Pimpri chinchwad ,PHP training in Pune
-- index-php --php include 'view-header-php'- -- -main- -nav-.pdf
Software development
Php mysql training-in-mumbai
Php with mysql ppt
Introduction To CodeIgniter
Creating a Simple PHP and MySQL-Based Login System

More from Vineet Kumar Saini (17)

PDF
Abstract Class and Interface in PHP
PDF
Introduction to Html
PDF
Stripe in php
PDF
Php Tutorials for Beginners
PDF
Install Drupal on Wamp Server
PDF
Joomla 2.5 Tutorial For Beginner PDF
PDF
Functions in PHP
PDF
Sorting arrays in PHP
PDF
Update statement in PHP
PDF
Delete statement in PHP
PDF
Types of Error in PHP
PDF
Database connectivity in PHP
PDF
Arrays in PHP
PDF
Operators in PHP
PDF
Variables in PHP
PDF
Print function in PHP
PDF
Difference between mysql_fetch_array and mysql_fetch_assoc in PHP
Abstract Class and Interface in PHP
Introduction to Html
Stripe in php
Php Tutorials for Beginners
Install Drupal on Wamp Server
Joomla 2.5 Tutorial For Beginner PDF
Functions in PHP
Sorting arrays in PHP
Update statement in PHP
Delete statement in PHP
Types of Error in PHP
Database connectivity in PHP
Arrays in PHP
Operators in PHP
Variables in PHP
Print function in PHP
Difference between mysql_fetch_array and mysql_fetch_assoc in PHP

Recently uploaded (20)

PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
Business Ethics Teaching Materials for college
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
The Final Stretch: How to Release a Game and Not Die in the Process.
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Basic Mud Logging Guide for educational purpose
Business Ethics Teaching Materials for college
PPH.pptx obstetrics and gynecology in nursing
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Microbial diseases, their pathogenesis and prophylaxis
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
TR - Agricultural Crops Production NC III.pdf
Pharma ospi slides which help in ospi learning
Renaissance Architecture: A Journey from Faith to Humanism
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Pharmacology of Heart Failure /Pharmacotherapy of CHF
O7-L3 Supply Chain Operations - ICLT Program
O5-L3 Freight Transport Ops (International) V1.pdf
Week 4 Term 3 Study Techniques revisited.pptx
The Final Stretch: How to Release a Game and Not Die in the Process.
2.FourierTransform-ShortQuestionswithAnswers.pdf

Pagination in PHP

  • 1. Pagination in PHP First of all we create a table in the database. Suppose we have ’user’ table in the database. Like as following image. Now we create database connectivity in the confg.php file. Config.php <?php $dbhost= "localhost"; $dbuser= "root"; $dbpass= ""; $dbname= "pagination3"; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database"); mysql_select_db($dbname); ?> Index.php <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Pagination in PHP</title> <style> .paginate { font-family:Arial, Helvetica, sans-serif; padding: 3px; margin: 3px; } .paginate a { padding:2px 5px 2px 5px; margin:2px; www.vineetsaini.wordpress.com
  • 2. Pagination in PHP border:1px solid #999; text-decoration:none; color: #666; } .paginate a:hover, .paginate a:active { border: 1px solid #999; color: #000; } .paginate span.current { margin: 2px; padding: 2px 5px 2px 5px; border: 1px solid #999 font-weight: bold; background-color: #999; color: #FFF; } .paginate span.disabled { padding:2px 5px 2px 5px; margin:2px; border:1px solid #eee; color:#DDD; } li{ padding:4px; margin-bottom:3px; background-color:#FCC; list-style:none; } ul{margin:6px; padding:0px; } </style> </head> <body> <?php include('config.php'); $tableName="user"; $targetpage = "index.php"; $limit = 2; $query = "SELECT COUNT(*) as num FROM $tableName"; $total_pages = mysql_fetch_array(mysql_query($query)); www.vineetsaini.wordpress.com
  • 3. Pagination in PHP $total_pages = $total_pages['num']; $stages = 3; if(isset($_GET['page'])) { $page = mysql_escape_string($_GET['page']); } else { $page=0; } 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++) www.vineetsaini.wordpress.com
  • 4. Pagination in PHP { 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 www.vineetsaini.wordpress.com
  • 5. Pagination in PHP 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>"; } echo $total_pages.' Results'; // pagination echo $paginate; ?> <table border='1' cellpadding="5" cellspacing="0"> <tr> www.vineetsaini.wordpress.com
  • 6. Pagination in PHP <th>Id</th> <th>Name</th> <th>Mobile</th> <th>Address</th> </tr> <?php while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td>'.$row['id'].'</td>'; echo '<td>'.$row['name'].'</td>'; echo '<td>'.$row['mobile'].'</td>'; echo '<td>'.$row['address'].'</td>'; echo '</tr>'; } ?> </table> </body> </html> Output www.vineetsaini.wordpress.com