Location: PHPKode > scripts > Paginatorfer > paginador.class.php
<?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>';
}

}
?>
Return current item: Paginatorfer