Overview
This is a script to make pagination in PHP with (Previous Next) buttons.This is what you'll get after finished this code

Syntax:
Pages($tbl_name,$limit,$path);
Parameters
tbl_name
your mysql table e.g(jooria_users) and use normal mysql querys e.g(jooria_users where groupid='5')
limit
how many items to show per page.
path
is the name of file ex. I saved this file as pagination.php, my $path should be "pagination.php?".
I saved this file as home/pagination/ my $path should be "home/pagination/" to appear "home/pagination/page="
dowwnload
you can download the code with the examples + 3 css styles:Pagination.zip [3.87 KB]
Usage:
use this function to Creates Full Pagination to creat a new Pagination use this:
Pages("table","limit to appear","the path");
Example#1:
i have a table in my mysql named 'my_users' contain some users
table
echo Pages("my_users","20","path/users/");
this will Return all users in pages and pages urls will be: /path/users/page=(page number)
The function
pagination.php [2.82 KB]
function Pages($tbl_name,$limit,$path)
{
$query = "SELECT COUNT(*) as num FROM $tbl_name";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];
$adjacents = "2";
$page = $_GET['page'];
if($page)
$start = ($page - 1) * $limit;
else
$start = 0;
$sql = "SELECT id FROM $tbl_name LIMIT $start, $limit";
$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='".$path."page=$prev'>« previous</a>";
else
$pagination.= "<span class='disabled'>« 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='".$path."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='".$path."page=$counter'>$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href='".$path."page=$lpm1'>$lpm1</a>";
$pagination.= "<a href='".$path."page=$lastpage'>$lastpage</a>";
}
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<a href='".$path."page=1'>1</a>";
$pagination.= "<a href='".$path."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='".$path."page=$counter'>$counter</a>";
}
$pagination.= "..";
$pagination.= "<a href='".$path."page=$lpm1'>$lpm1</a>";
$pagination.= "<a href='".$path."page=$lastpage'>$lastpage</a>";
}
else
{
$pagination.= "<a href='".$path."page=1'>1</a>";
$pagination.= "<a href='".$path."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='".$path."page=$counter'>$counter</a>";
}
}
}
if ($page < $counter - 1)
$pagination.= "<a href='".$path."page=$next'>next »</a>";
else
$pagination.= "<span class='disabled'>next »</span>";
$pagination.= "</div>\n";
}
return $pagination;
}
The Css:
style1.css |
style2.css |
style3.css
div.pagination {
padding: 3px;
margin: 3px;
text-align:center;
}
div.pagination a {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #AAAADD;
text-decoration: none; /* no underline */
color: #000099;
}
div.pagination a:hover, div.digg a:active {
border: 1px solid #000099;
color: #000;
}
div.pagination span.current {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #000099;
font-weight: bold;
background-color: #000099;
color: #FFF;
}
div.pagination span.disabled {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #EEE;
color: #DDD;
}
Category:
Website Programming | Views: 20,940 | on: September 16, 2009 | by:
jooria