I have found that this generic paging function works no matter if mysql, mysqli, or pdo:
Code:
<?php
function pager($numpages, $page, $self, $limit, $queryvars = '')
{
$maxPage = ceil($numpages / $limit);
echo "whitaker ===".$maxPage."===".$page."===".$self."===".$queryvars;
echo "maxpage ==== ".$maxPage;
if ($maxPage > 5)
{
$spage = $page;
$epage = $page + 4;
$spage = $page;
$epage = $page + 4;
$menu7 = '';
if($page != 1)
{
$menu7 .= '<a href="'.$self.'?page='.($page - 1).'&'.$queryvars.' "><< PREV </a>';
}
if ($epage < $maxPage)
{
for ($i = $spage; $i <= $epage; $i++)
{
if ($i == $page)
{
$menu7 .= '<class="selected">'.$i.'';
}
else
{
$menu7 .= '<a href="'.$self.'?page='.$i.'&'.$queryvars.'">'.$i.'</a>'."\n";
}
}
}
else
{
for ($i = $spage; $i <= $maxPage; $i++)
{
if ($i == $page)
{
$menu7 .= '<class="selected">'.$i.'';
}
else
{
$menu7 .= '<a href="'.$self.'?page='.$i.'&'.$queryvars.'">'.$i.'</a>'."\n";
} //bottom else
} //for
} //top else
if ($page < $maxPage)
{
$menu7 .= '<a href="'.$self.'?page='.($page + 1).'&'.$queryvars.'"> NEXT >></a>';
}
}
else
{
$menu7 = '';
if($page != 1)
{
$menu7 .= '<a href="'.$self.'?page='.($page - 1).'&'.$queryvars.'"><< PREV </a>';
}
for ($i = 1; $i <= $maxPage; $i++)
{
if ($i == $page)
{
$menu7 .= '<class="selected">'.$i.'';
}
else
{
$menu7 .= '<a href="'.$self.'?page='.$i.'&'.$queryvars.'">'.$i.'</a>'."\n";
}
}
if ($page < $maxPage)
{
$menu7 .= '<a href="'.$self.'?page='.($page + 1).'&'.$queryvars.'"> NEXT >></a>';
}
}
return $menu7;
}
?>
It's called like this:
Code:
$menu = '';
$menu = pager($_SESSION['total_records'], $page, $self, $limit, $queryvars );
queryvars would be something for the querystring like
Code:
$queryvars = "lname=$lname";
Bookmarks