Ola amigos, disculpen que los moleste pero es que tengo un problema con crear una paginación en PHP utilizando la librería XAJAX , mi problema es el siguiente: tengo en el código fuente una función que ejecuta una consulta SQL, que luego la registro con el registerFunction() de XAJAX en dicha función creo la paginación, pero el problema esta en que cuando hago clic para visualizar la siguiente pagina absolutamente todos los datos desaparecen y la verdad ya no tengo idea de cual es el problema que tengo, aquí les adjunto mi código:
<?php
require ('xajax/xajax.inc.php');
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
//Registrar todas las funciones que utiliza ajax
$xajax->registerFunction("buscar_libros");
$xajax->processRequest();
?>
<html>
<head>
<title>CONSULTA SQL UTILIZANDO LA LIBRERIA XAJAX CON PAGINACIÓN</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
$xajax->printJavascript("xajax/");
?>
</head>
<body>
<form action="xajax.php" method="get">
<input type="text" name="criterio" id="buscar" value="">
<input type="button" value="Buscar" onclick="xajax_buscar_libros(document.getElementBy Id('criterio').value)">
</form>
<br><br><br>
<div id="mensaje">
</div>
<div id="books">
</div>
<div id="paginador">
</div>
</body>
</html>
<?php
//Funcion para buscar libros con paginacion incluida
function buscar_libros($criterio)
{
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
$txt_criterio = $_GET["criterio"];
}
//conecto con la base de datos
$conn = mysql_connect("localhost","root","");
mysql_select_db("bookorama",$conn);
//Limito la busqueda
$TAMANO_PAGINA = 2;
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina)
{
$inicio = 0;
$pagina=1;
}
else
{
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from books WHERE author = '".$txt_criterio. "' " ; //. $criterio
$rs = mysql_query($ssql,$conn);
$num_total_registros = mysql_num_rows($rs);
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);
$sal =
'Numero de registros encontrados'.$num_total_registros.'<br> Se muestran paginas de:
'.$TAMANO_PAGINA . 'registros cada una<br> Mostrando la pagina '. $pagina . ' de '. $total_paginas;
//construyo la sentencia SQL
$ssql = "select * from books WHERE author = '" . $txt_criterio . "' limit " . $inicio . "," . $TAMANO_PAGINA;
$rs = mysql_query($ssql);
while ($fila = mysql_fetch_array($rs)){
$txt = $txt . "<br>". $fila["title"]. "<br>";
}
mysql_free_result($rs);
mysql_close($conn);
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1)
{
for ($i=1;$i<=$total_paginas;$i++)
{
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
$nacion = $nacion. $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
$nacion = $nacion ."<a href='xajax.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}
$objResponse = new xajaxResponse();
$objResponse->addAssign("mensaje","innerHTML",$sal);
$objResponse->addAssign("books","innerHTML",$txt);
$objResponse->addAssign("paginador","innerHTML",$nacion);
return $objResponse;
}
?>
Cabe mencionar que el codigo lo e obtenido leyendo manuales en difenrentes paginas web , ya que tengo solamente unos cuantos meses de estar practicando PHP y MySQL , disculpen si los molesto en algo pero la verdad me ayudarian mucho si me dan alguna respuesta positiva o algun ejemplo para ponerlo en practica
, ya que e buscado en internet y no e econtrado nada ademas creo que esto no solo me ayudaria a mi si no a mas personas que quiza tengan el mismo problema.