Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/08/2009, 11:22
tarongeta
 
Fecha de Ingreso: julio-2009
Mensajes: 10
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: paginación de resultados provenientes de un formulario

dejo parte del script: (por su extensión no me deja incluir-lo completo)

Código paginator.inc.php:
Ver original
  1. <?php
  2. /*
  3. **----------------------------No Borrar esta sección -------------------------
  4. **  Paginator
  5. **  Paginación de resultados de consultas a MySql con PHP
  6. **
  7. **  Versión 1.6.3
  8. **
  9. **  Nombre de archivo   :
  10. **      paginator.inc.php
  11. **
  12. **  Autor   :
  13. **      Jorge Pinedo Rosas (jpinedo)    <[email protected]>
  14. **      Con la colaboración de los usuarios del foro de PHP de
  15. **      Especialmente de dooky que posteó el código en el que se basa este script.   
  16. **
  17. **  Descripción :
  18. **      Devuelve el resultado de una consulta sql por páginas, así como los enlaces de navegación respectivos.
  19. **      Este script ha sido pensado con fines didácticos, por eso la gran cantidad de comentarios.
  20. **
  21. **  Licencia :
  22. **      GPL con las siguientes extensiones:
  23. **          *Uselo con el fin que quiera (personal o lucrativo).
  24. **          *Si encuentra el código de utilidad y lo usa, mandeme un mail si lo desea o deje un comentario en la página
  25. **           de documentación.
  26. **          *Si mejora el código o encuentra errores, hagamelo saber al mail indicado o deje un comentario en la página
  27. **           de documentación.
  28. **
  29. ** 
  30. **     
  31. **----------------------------------------------------------------------*/
  32.  
  33. /*----------------------------------------------------------------------
  34. **  Historial:
  35. **
  36. **  Versión 1.0.0  (30/11/2003):   -Versión inicial.
  37. **  Versión 1.1.0  (12/01/2004):   -Se agregó la propagación de las variables que llegan al script vía url ($_GET)
  38. **                                   en los enlaces de navegación por las páginas.
  39. **                                  -Se optimizó el conteo del total de registros utilizando el COUNT(*) de MySql.
  40. **  Versión 1.3.0  (10/08/2004):   -Se agregó la opción de limitar el número enlaces que se mostrarán en la barra
  41. **                                   de navegación. Gracias a la recomendación de Jorge Camargo (andinistas)
  42. **                                  -Se agregó la opción de elegir si se quiere mostrar los mensajes de error de mysql.
  43. **                                  -Se agregó la generación de información de la página actual en una cadena que contiene
  44. **                                   el total de registros de la consulta y el primer y último registro de la página actual.
  45. **  Versión 1.4.0  (12/08/2004):   -Se agregó la opción de elegir qué variables se quiere propagar por url. Se ha utilizado
  46. **                                   la misma forma de hacerlo que utiliza la Clase Paginado de webstudio.
  47. **                                   (). Gracias a la acalmación popular :)
  48. **  Versión 1.4.1  (06/09/2004):   -Corregido el bug en la propagación de variables por GET al renombrar la variable
  49. **                                   "pg" por "_pagi_pg". Esto sólo ocurre en la versión 1.4. Gracias a jean pierre m. por
  50. **                                   reportar el bug.
  51. **  Versión 1.5.0  (03/11/2004):   -Se agregó la opción de elegir si se hace el conteo desde mySQL (COUNT(*)) o desde PHP (mysql_num_rows()).
  52. **                                   Esta es una de las modificaciones más importantes porque gracias a esto, ahora el script funciona para
  53. **                                   cualquier tipo de consulta, corrigiendo una de sus principales limitaciones. Gracias a César (CDs) por
  54. **                                   sus ganas de colaborar y su paciencia.
  55. **  Versión 1.5.1  (16/11/2004):   -Se cambió el nombre de las variables $desde y $hasta por $_pagi_desde y $_pagi_hasta para mantener
  56. **                                   uniformidad y evitar conflictos.
  57. **  Versión 1.5.2  (15/02/2005):   -Se cambió preventivamente el uso del array $GLOBALS por el array $_REQUEST con la intención de que
  58. **                                   funcione con la directiva register globals en Off. Gracias a Lorena Casas por su colaboración en la detección de
  59. **                                   este bug y en las pruebas.
  60. **  Versión 1.6.0  (08/03/2005):   -Se reestructuró toda la parte de propagación reincluyendo el array $GLOBALS para poder propagar variables
  61. **                                   generadas en el ámbito del script.
  62. **                                  -Se incluyó la opción de elegir un estilo CSS para los enlaces de la barra de navegación.
  63. **                                  -Se incluyó la opción de personalizar los enlaces a la página anterior y a la siguiente. (Inspirado en la clase Paginador de WebStudio)
  64. **  Versión 1.6.1  (07/05/2005):   -Corregido el bug que multiplicaba la variable _pagi_pg en el URL cuando se propaga automáticamente
  65. **                                   el array $_GET.
  66. **  Versión 1.6.2  (21/10/2005):   -Se incluyeron los enlaces a la página primera y a la última.
  67. **                                  -Se incluyó la opción de personalizar los enlaces a la página primera y a la última.
  68. **  Versión 1.6.3  (22/02/2006):   -Corregida la expresión regular para que reconozca los saltos de línea y tabulaciones como espacio en blanco.
  69. **                                   Gracias a El_Condor en forosdelweb por reportar el comportamiento indeseado.
  70. **
  71. **-----------------------------------------------------------------------------------------------------------*/
  72.  
  73.  
  74. /**
  75.  * Variables que se pueden definir antes de incluir el script vía include():
  76.  * ------------------------------------------------------------------------
  77.  * $_pagi_sql                   OBLIGATORIA.    Cadena. Debe contener una sentencia sql válida (y sin la cláusula "limit").
  78.  
  79.  * $_pagi_cuantos               OPCIONAL.       Entero. Cantidad de registros que contendrá como máximo cada página.
  80.                                 Por defecto está en 20.
  81.                                            
  82.  * $_pagi_nav_num_enlaces       OPCIONAL        Entero. Cantidad de enlaces a los números de página que se mostrarán como
  83.                                 máximo en la barra de navegación.
  84.                                 Por defecto se muestran todos.
  85.                                            
  86.  * $_pagi_mostrar_errores       OPCIONAL        Booleano. Define si se muestran o no los errores de MySQL que se puedan producir.
  87.                                 Por defecto está en "true";
  88.                                            
  89.  * $_pagi_propagar              OPCIONAL        Array de cadenas. Contiene los nombres de las variables que se quiere propagar
  90.                                 por el url. Por defecto se propagarán todas las que ya vengan por el url (GET).
  91.  * $_pagi_conteo_alternativo    OPCIONAL        Booleano. Define si se utiliza mysql_num_rows() (true) o COUNT(*) (false).
  92.                                 Por defecto está en false.
  93.  * $_pagi_separador             OPCIONAL        Cadena. Cadena que separa los enlaces numéricos en la barra de navegación entre páginas.
  94.                                 Por defecto se utiliza la cadena " | ".
  95.  * $_pagi_nav_estilo            OPCIONAL        Cadena. Contiene el nombre del estilo CSS para los enlaces de paginación.
  96.                                 Por defecto no se especifica estilo.
  97.  * $_pagi_nav_anterior          OPCIONAL        Cadena. Contiene lo que debe ir en el enlace a la página anterior. Puede ser un tag <img>.
  98.                                 Por defecto se utiliza la cadena "&laquo; Anterior".
  99.  * $_pagi_nav_siguiente         OPCIONAL        Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag <img>.
  100.                                 Por defecto se utiliza la cadena "Siguiente &raquo;"
  101.  * $_pagi_nav_primera           OPCIONAL        Cadena. Contiene lo que debe ir en el enlace a la primera página. Puede ser un tag <img>.
  102.                                 Por defecto se utiliza la cadena "&laquo;&laquo; Primera".
  103.  * $_pagi_nav_ultima            OPCIONAL        Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag <img>.
  104.                                 Por defecto se utiliza la cadena "&Uacute;ltima &raquo;&raquo;"
  105. --------------------------------------------------------------------------
  106. */
  107.  
  108.  
  109.  
  110. /**
  111.  * Variables que quedan disponibles después de incluir el script vía include():
  112.  * ------------------------------------------------------------------------
  113.  
  114.  * $_pagi_result        Identificador del resultado de la consulta a la BD para los registros de la página actual.
  115.                 Listo para ser "pasado" por una función como mysql_fetch_row(), mysql_fetch_array(),
  116.                 mysql_fetch_assoc(), etc.
  117.                            
  118.  * $_pagi_navegacion        Cadena que contiene la barra de navegación con los enlaces a las diferentes páginas.
  119.                 Ejemplo: "<<primera | <anterior | 1 | 2 | 3 | 4 | siguiente> | última>>".
  120.                            
  121.  * $_pagi_info          Cadena que contiene información sobre los registros de la página actual.
  122.                 Ejemplo: "desde el 16 hasta el 30 de un total de 123";             
  123.  
  124. */
  125. ?>