Código PHP:
<?php
require("clase_mysql.inc.php");
$con_paginacion = new DB_mysql('');
class paginacion
{
var $sql;
var $div;
var $inicio;
var $num_paginas;
function paginacion($sql,$div="",$inicio,$num_paginas)
{
$this->sql=$sql;
$this->div=$div;
$this->inicio=$inicio;
$this->num_paginas=$num_paginas;
}
function __mostrar_ultimo($inicio)
{
$numreg=$this->num_registro();
for($i=0;$i<=$numreg;$i++)
{
if(($inicio+$this->num_paginas)<$numreg)
{
$this->set_inicio($inicio+$this->num_paginas);
}
else
{
break;
}
}
return $this->listar_paginas($this->get_inicio());
//return $this->inicio;
}
function __mostrar_primero()
{
$this->set_inicio(0);
return $this->listar_paginas($this->get_inicio());
//return $this->inicio;
}
function __mostrar_siguiente($inicio)
{
if((($inicio)+($this->num_paginas))<=($this->num_registro()))
$this->set_inicio(($inicio)+($this->num_paginas));
return $this->listar_paginas($this->get_inicio());
//return $this->inicio;
}
function get_inicio()
{
return $this->inicio;
}
function set_inicio($inicio)
{
$this->inicio=$inicio;
}
function __mostrar_anterior($inicio)
{
if((($inicio)-($this->num_paginas))>=0)
$this->set_inicio(($inicio)-($this->num_paginas));
return $this->listar_paginas($this->get_inicio());
//return $this->inicio;
}
function num_registro()
{
global $con_paginacion;
$res=$con_paginacion->consulta($this->sql);
return mysql_num_rows($res);
}
function listar_paginas($inicio)
{
global $con_paginacion;
$limit=" limit ".$inicio.",".$this->num_paginas."";
$sql=$this->sql.$limit;
$res=$con_paginacion->consulta($sql);
return $sql;
}
}
function siguiente($obj)
{
$inicio=$obj->get_inicio();
return $obj->__mostrar_siguiente($inicio);
}
function anterior($obj)
{
$inicio=$obj->get_inicio();
return $obj->__mostrar_anterior($inicio);
}
function ultimo($obj)
{
$inicio=$obj->get_inicio();
return $obj->__mostrar_ultimo($inicio);
}
function primero($obj)
{
return $obj->__mostrar_primero();
}
$sql="select * from beneficiario";
$inicio=0;
$num_paginas='2';
$div="";
$paginacion_usuario = new paginacion($sql,$div,$inicio,$num_paginas);
echo siguiente($paginacion_usuario)."<P>";
echo anterior($paginacion_usuario)."<P>";
echo ultimo($paginacion_usuario)."<P>";
?>
acontinuacion la funccion con xajax
Código PHP:
function paginar($div,$num)
{
global $obj;
$respuesta=new xajaxResponse('ISO-8859-1');
if($num==4)
{
//$respuesta->addAlert($num);
//$paginacion_usuario->set_inicio('123');
//$respuesta->addAlert($paginacion_usuario->get_inicio());
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_ultimo($inicio);
}
if($num==1)
{
$reg=$obj->__mostrar_primero($inicio);
}
if($num==3)
{
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_anterior($inicio);
}
if($num==2)
{
$inicio=$obj->get_inicio();
$reg=$obj->__mostrar_siguiente($inicio);
}
/*while($reg=mysql_fetch_object($res))
{
$salida.= "<p>";
foreach($reg as $index)
{
$salida.= $index;
}
}
*/
$salida=$res;
$respuesta->addAssign("$div","innerHTML",$salida);
return $respuesta;
}
nazart jara huaman