<?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
