<?php
class paginador{
var $paginaInicial;
var $paginaActual;
var $ultimaPagina;
var $totalPaginas;
var $numRegPorPagina;
var $ultimoRegistroMostrado;
var $totalRegPorPagina;
var $totalRegistros;
var $listaRegistros;
public function __construct($listaDatos,$registrosPorPagina)
{
$this->paginaInicial=0;
$this->paginaActual=0;
$this->totalRegPorPagina=$registrosPorPagina;
$this->totalRegistros=count($listaDatos);
//compruebo si el total de registros entre los registros por pagina
//da un resultado entero.
$calculopaginas=$this->totalRegistros/$this->totalRegPorPagina;
if(is_float($calculopaginas))
{
list($parteentera,$partedecimal)=explode(".",$calculopaginas);
$paginas=$parteentera+1;
$this->totalPaginas=$paginas;
}
else
{
$this->totalPaginas=$calculopaginas;
}
$this->listaRegistros=$listaDatos;
}
public function dame_resultados($numeroPagina)
{
//Sila pagina inicial es 1 empezamos a mostrar datos desde el registro [0] del la lista.
if($numeroPagina<0)$numeroPagina=0;
if($numeroPagina>=$this->totalPaginas)$numeroPagina=$this->totalPaginas-1;
if($this->paginaInicial==$numeroPagina)
{
$primerregistroamostrar=0;
$this->paginaActual=$numeroPagina;
$ultimoregistroamostrar=$primerregistroamostrar+$this->totalRegPorPagina;
$this->ultimoRegistroMostrado=$ultimoregistroamostrar;
for($a=$primerregistroamostrar;$a<$ultimoregistroamostrar;$a++)
{
$resultados[] = $this->listaRegistros[$a];
}
return $resultados;
}
else
{
$this->paginaActual=$numeroPagina;
$primerregistroamostrar=$this->totalRegPorPagina*$numeroPagina;
$ultimoregistroamostrar=$primerregistroamostrar+$this->totalRegPorPagina;
$this->ultimoRegistroMostrado=$ultimoregistroamostrar;
for($a=$primerregistroamostrar;$a<$ultimoregistroamostrar;$a++)
{
$resultados[] = $this->listaRegistros[$a];
}
return $resultados;
}
}
public function mostrarcontrol()
{
echo'<table border="0" align="center" cellspacing="4" cellpadding="4" height="40">';
echo'<tr>';
echo'<td style="cursor:pointer;" onclick="_AjaxGET(\'dameresultados.php\',\'resultadoregistros\',\'pagmenos=1\')">< Ant.</td>';
echo '<td style="cursor:pointer;">';
for($a=0;$a<$this->totalPaginas;$a++)
{
echo'<span style="cursor:pointer;" onclick="_AjaxGET(\'dameresultados.php\',\'resultadoregistros\',\'pag='.$a.'\')">'.($a+1).'</span>'.' | ';
}
echo '</td>';
echo'<td style="cursor:pointer;" onclick="_AjaxGET(\'dameresultados.php\',\'resultadoregistros\',\'pagmas=1\')"> Sig ></td>';
echo'</tr>';
echo'</table>';
}
}
?>