_____
From: Ruben Crespo [mailto:rumails...@gmail.com]
Sent: 30 September 2009 01:23 PM
To: Angelo Zanetti
Cc: php-general@lists.php.net
Subject: Re: [PHP] Paging script
Hi all,
Maybe it is not just what you need but could be helpfull.
Here you have the code:
//-------------------paginator.php------------------------------------------
----------------------------------
<?php
function paginator ($current, $total, $per_page, $link, $limit) {
if ($current == '')
{
$current = 1;
}else{
$current = $current;
}
$total_pages = ceil($total/$per_page);
$previous = $current - 1;
$next = $current + 1;
/*traduction*/
$toFrom = "<p>Page ".$current." of ".$total_pages."</p>";
$Goto = "Go to Page";
$go = "Go";
$texto = "
<div id='paginacion'>".$toFrom."
<ul>";
if ($current > 1)
$texto .= "<li><a href=\"$link$previous\">«</a></li>";
else
$texto .= "<li><b>«</b></li>";
//Se lista hasta llegar a la posición actual
if ($current > $limit) {
$start = ($current - $limit) + 1;
$texto .= "<li><b>...</b></li>";
} else {
$start = 1;
}
for ($start; $start < $current; $start++) {
$texto .= "<li><a href=\"$link$start\">$start</a></li>";
}
//mostramos posicion actual
$texto .= "<li><b>$current</b></li> ";
//mostramos resto de registros
for ($i=$current+1; $i<=$total_pages; $i++) {
if ($i > $limit)
{
$texto .= "<li><b>...</b></li>";
$i = $total_pages;
}else{
$texto .= "<li><a href=\"$link$i\">$i</a></li> ";
}
}
if ($current < $total_pages)
{
$texto .= "<li><a href=\"$link$next\">»</a></li>";
}else{
$texto .= "<li><b>»</b></li>";
}
$texto .= "</ul>";
//a form to go directly to the page you want
$texto .= '<!--FORMULARIO PAGINADOR-->
<div id="form_ir">
<form action="'.$_SERVER["PHP_SELF"].'" method="get">
<fieldset>
<p>'.$Goto.' <input type="text" size="3" name="page" value="" />
<input type="submit" name="ir" value="'.$go.'" /></p>
</fieldset>
</form>
</div>';
$texto .= '<br class="break" />
</div>
';
return $texto;
}
?>
//-------------------paginator.php------------------------------------------
----------------------------------
//-------------------example.php--------------------------------------------
--------------------------------
<?php
include ("paginator.php");
for ($n=0; $n<=100; $n++)
{
$myArray [$n] = $n;
}
$total = count ($myArray); //the total elements in the array
$per_page = 5; //elements the script show
$link = "example.php?page="; //link
$limit = 3; //number of items you show in the paginator list
if ($_GET["page"])
{
$current = $_GET["page"];
}else{
$current = $_POST["page"];
}
$start = ($current-1) * $per_page;
$end = $start + $per_page;
//call to the paginator function ...
echo paginator ($current, $total, $per_page, $link, $limit);
//Show the results in different pages
for ($i = $start; $i<=$end ;$i++)
{
echo $myArray[$i]."<br />";
}
?>
//-------------------example.php--------------------------------------------
--------------------------------
Thanks ruben very much :-)
Regards
Angelo
http://www.wapit.co.za
http://www.elemental.co.za