Clase Paginador PHP con AJAX

En PHPClasses encontramos una clase en PHP de un paginador. Lista los datos de una tabla en MySQL y su paginador en la parte inferior, pero además permite realizar una búsqueda en la base de datos y paginar los resultados. Todo lo anterior mediante llamadas AJAX, sin tener que recargar la página.

La clase tiene muchas opciones de configuración como: páginas a mostrar, registros por página, establecer conexión, etc.

Usando la clase

<?php
// this is only used in debugging,
// use error_reporting(0) in production environment
error_reporting(E_ALL || E_STRICT);

include('paginator.class.php');
// instantiate mysqli connection
$conn = new mysqli('localhost', 'root', '','empresa') ;

$query = "SELECT * FROM customers";
//$query = "SELECT * FROM customers WHERE id > 1";

// Number of records per page
$recordsPerPage = 5;
if(!empty($_GET['search'])){
 $searchQuery = $_GET['search'];
}

$pageId= intval($_GET['page']);
if (empty($pageId)) {
 $pageId = 1;
}else{
 $pageId = intval($pageId); 
}
// if you are testing it locally uncomment the following line
// to see how it is going to look like
//sleep(2);

$paginator = new Paginator($pageId,$recordsPerPage,$query,$conn);

$paginator->debug = FALSE;

// field(s) to search in
// string or array of fields
$paginator->fields = 'name';
//$paginator->fields = array('name','id');

$paginator->searchQuery = $searchQuery;

// call the core function that paginates
$rows = $paginator->paginate();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript" src="pagination.js"></script>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/ajaxUpdater.js"></script> 
<script type="text/javascript" src="js/paginate.js"></script>
</head>

<body>
<div id="wrapper">
<div id='search-box' class="search-box">
<form action="<?=$_SERVER['PHP_SELF']?>" onsubmit='paginate();return false;'>
<input id="search" type="text" class="search" />
<input type="submit" value="search" class="button" />
</form>
</div>

<div id="listing_container">
 <table border="0" cellpadding="2" cellspacing="0" class="listing">
 <tr>
 <th nowrap="nowrap" width="40" align='left'> ID</th>
 <th nowrap="nowrap" width="450" align='left'>Name</th>
 </tr>
<?php

foreach($rows as $row){
 echo "<tr>";
 echo "<td nowrap='nowrap' align='center'>{$row['id']}</td>";
 echo "<td nowrap='nowrap' align='left'>{$row['name']}</td>";
 echo "</tr>";
}

echo "</table><br />";
$links = $paginator->getLinks ();
echo "<div class='paginator'> " . $links ;

echo "<p>Page " . $paginator->pageId . " of " . $paginator->totalPages . "</p>";

?>
 </div><!--end of paginator-->
 </div><!--end of listing_container-->
</div><!--end of wrapper-->
</body>
</html>

El resultado …

Paginacion AJAX PHP Clases

Para descargar cualquiera de los script que encontramos en PHPClasses debemos registrarnos.

Descargar | Class: AJAX Paginator

9 thoughts on “Clase Paginador PHP con AJAX

  1. ME TIRA ESTE ERROR AL TRATAR DE BUSCAR
    Fatal error: Uncaught exception ‘Exception’ with message ‘Query error’ in C:\wamp\www\seminario2\PRUEBA\paginator.class.php:106 Stack trace: #0 C:\wamp\www\seminario2\PRUEBA\paginator.class.php(122): Paginator->getAffectedRows() #1 C:\wamp\www\seminario2\PRUEBA\sub_page.php(38): Paginator->paginate() #2 {main} thrown in C:\wamp\www\seminario2\PRUEBA\paginator.class.php on line 106
    y cuando voy a la pagina 2 no me muestra los datos y me devuelvo ala 1 y tampooc me los muestra que podra ser?

  2. Por que me tira el error:
    Fatal error: Class ‘mysqli’ not found in C:\AppServ\www\Paginador\index.php on line 8
    en la linea 8 tengo esto:
    $conn = new mysqli(‘localhost’, ‘mysql’, ”,’test’) ;
    y las cosas estan bien puestas dentro del $conn

  3. Pues de antemo gracias por el codigo.. y pues tratando de compartir informacion… la razon por la que de tira el error Class ‘mysqli’ not found in C:\AppServ\www\Paginador\index.php on line 8 es porque “mysqli” Es una nueva funcionalidad que nos permite conectarnos de forma mas sencilla solo al instanciarlo, hay que revisar las versiones de appserver o wampserver o parecidos y verificar si en el php.ini esta primeramente instalado ;extension=mysqli” sin el “;”. Por eso es que tira el error si no aparece quiere decir que la version no tiene esa libreria y tienes de dos:
    1: Instalar una nueva version.
    2: Instalar la librería.

  4. No me funciona, la parte de la busqueda y recarga la pagina. De donde consigo las librerias que utilizas en tu codigo fuente.

  5. He descargado los fuentes correctamente pero no me funciona la parte de la búsqueda y recarga la pagina.

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Wanderz Blog by Crimson Themes.