Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/08/2012, 18:52
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Paginacion de SQL en PHP

La paginación de items en SQL es de lo mas sencillo, te dejo un ejemplo...

Código PHP:
Ver original
  1. //Obtejemos el total de los registros
  2. $sql = 'SELECT COUNT(*) AS total FROM bo.busqueda_equipo_person';
  3. $query($sql,$conexion);
  4.  
  5. $totalRegistros = mssql_result($query, 0, ' total');
  6.  
  7. //aquí verificamos si existe la variable "pag", la cual indicará el numero de
  8. //página en la que el usuario se encuentra, si no existe será la página 1
  9. $paginaActual = isset($_GET['pag']) ? $_GET['pag'] : 1;
  10.  
  11. //numero de items mostrados por página
  12. $registrosPorPagina = 25;
  13.  
  14. //numero total de páginas a mostrar
  15. $totalPag = ceil($totalRegistros / $registrosPorPagina);
  16.  
  17. //numero desde el cual recuperaremos los registros
  18. $itemInicio = $registrosPorPagina * ($paginaActual - 1);
  19.  
  20. //recuperamos los registros pertinentes
  21. $sql = 'SELECT * FROM bo.busqueda_equipo_person LIMIT '.$itemInicio.','.$registrosPorPagina;
  22. $query = mssql_query($sql,$conexion);
  23.  
  24. //muestras los registros
  25. while($row = msqql_fetch_assoc($query)) {
  26.  
  27. }
  28.  
  29. //creamos los links de las páginas
  30. $paginacion = '<p>';
  31. $paginacion .= ($paginaActual > 1) ? '<a href="'.$_SERVER['PHP_SELF.'].'?pag='.($paginaActual - 1).'">Anterior</a> ' : 'Anterior ';
  32.  
  33. for($i=1; $i<=$totalPag; $i++) {
  34.      if ($i == $paginaActual) {
  35.           $paginacion .= '<strong>'.$i.'</strong> ';
  36.      }else {
  37.           $paginacion .= '<a href="'.$_SERVER['PHP_SELF'].'?pag='.$i.'">'.$i.'</a> ';
  38.      }
  39. }
  40.  
  41. $paginacion .= ($paginaActual < $totalPag) ? '<a href="'.$_SERVER['PHP_SELF'].'?pag='.($paginaActual + 1).'">Siguiente</a>' : 'Siguiente;
  42. $paginacion .= '</p>';
  43.  
  44. echo $paginacion;

No probe el código porque no tengo instalado SQL Server, pero debería funcionar...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)