Foros del Web » Programando para Internet » PHP »

paginación de resultados provenientes de un formulario

Estas en el tema de paginación de resultados provenientes de un formulario en el foro de PHP en Foros del Web. Utilizo el script paginator para paginar los resultados de una consulta. El problema es que no consigo que filtre la consulta enviada a través del ...
  #1 (permalink)  
Antiguo 13/08/2009, 11:05
 
Fecha de Ingreso: julio-2009
Mensajes: 10
Antigüedad: 14 años, 9 meses
Puntos: 0
paginación de resultados provenientes de un formulario

Utilizo el script paginator para paginar los resultados de una consulta. El problema es que no consigo que filtre la consulta enviada a través del formulario y siempre pagina la consulta sin filtro.

Adjunto el enlace del funcionamiento de la pàgina:

(incluir_inicio_web)alberic(punto)com/persones/buscapersones(punto)html
Para ver mejor el resultado hay que poner Sergi en el campo “Nom”

Aquí dejo el código de la pàgina que recoge el formulario y de parte del script (la otra parte la dejo en otro mensaje pues és muy largo):

Código formulario:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN>
  2. <html >
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Busca persones</title>
  6. <link href="estil.css" rel="stylesheet" type="text/css" />
  7. </head>
  8.  
  9. <body bgcolor="#CCCCCC" >
  10. <span class="Estilo1"></span>
  11. <h2>
  12. RESULTATS DE LA BÚSQUEDA</h2>
  13. <?
  14. $host= 'xxx';
  15. //$user = 'xxx';
  16. $user = 'xxx';
  17. $password = 'xxx';
  18. $db = 'xxx';
  19. $enllac = mysql_connect ($host,$user,$password);
  20. mysql_select_db($db,$enllac);
  21.  
  22.  
  23. $consulta = mysql_query("SELECT * FROM collaboradors WHERE Nom LIKE '%$Nom%' and Cognoms LIKE '%$Cognoms%' and Adreca LIKE '%$Adreca%' and Codi_postal LIKE '%$Codi_postal%' and Poblacio LIKE '%$Poblacio%' and Provincia LIKE '%$Provincia%' and CIF LIKE '%$CIF%' and Telefon LIKE '%$Telefon%' and Mobil LIKE '%$Mobil%' and e_mail LIKE '%$e_mail%' and web LIKE '%$web%'");
  24.  
  25. while($row = mysql_fetch_array($consulta)){
  26. $id=$row["id"];
  27. $Nom=$row["Nom"];
  28. $Cognoms=$row["Cognoms"];
  29. $Adreca=$row["Adreca"];
  30. $Codi_postal=$row["Codi_postal"];
  31. $Poblacio=$row["Poblacio"];
  32. $Provincia=$row["Provincia"];
  33. $CIF=$row["CIF"];
  34. $Telefon=$row["Telefon"];
  35. $Mobil=$row["Mobil"];
  36. $e_mail=$row["e_mail"];
  37. $web=$row["web"];
  38.  
  39. echo("<table width='80%' align='center' border='0' cellspacing='0' cellpading='0'>\n");
  40. echo("<tr>\n");
  41. echo("<td width='10%'><a href=pagaments/index_pagaments.php?id=$id> Pagar </a></td>\n");
  42. echo("<td width='10%'><a href=modificarpersona.php?id=$id> Modificar </a></td>\n");
  43. echo("<td width='10%'><a href=borrarpersona.php?id=$id> Borrar </a></td>\n");
  44.  
  45. echo("<td width='10%'>$Nom</a></td>\n");
  46. echo("<td width='10%'>$Cognoms</a></td>\n");
  47. echo("<td width='15%'>$Adreca</a></td>\n");
  48. echo("<td width='5%'>$Codi_postal</a></td>\n");
  49. echo("<td width='15%'>$Poblacio</a></td>\n");
  50. echo("<td width='5%'>$Provincia</a></td>\n");
  51. echo("<td width='5%'>$CIF</a></td>\n");
  52. echo("<td width='5%'>$Telefon</a></td>\n");
  53.  
  54. echo("</tr>\n");
  55. echo("</table>\n");
  56.  
  57. echo"<hr size=2 color=ffffff width=100% align=left>";}
  58. include("Paginator/demo.php");
  59.  
  60. ?>
  61.  
  62.  
  63. </body>
  64. </html>


Código demo:
Ver original
  1. <?php
  2.  
  3. //Conexión a la base de datos
  4. $con = mysql_connect("xxx","xxx","xxx") or die (mysql_error());
  5. mysql_select_db("xxx",$con) or die (mysql_error());
  6.  
  7. //Sentencia sql (sin limit)
  8. $_pagi_sql = "SELECT * FROM collaboradors WHERE Nom LIKE '%$Nom%' and Cognoms LIKE '%$Cognoms%' and Adreca LIKE '%$Adreca%' and Codi_postal LIKE '%$Codi_postal%' and Poblacio LIKE '%$Poblacio%' and Provincia LIKE '%$Provincia%' and CIF LIKE '%$CIF%' and Telefon LIKE '%$Telefon%' and Mobil LIKE '%$Mobil%' and e_mail LIKE '%$e_mail%' and web LIKE '%$web%'";
  9.  
  10. //cantidad de resultados por página (opcional, por defecto 20)
  11. $_pagi_cuantos = 3;
  12.  
  13. //cantidad de enlaces que se mostrarán como máximo en la barra de navegación
  14. $_pagi_nav_num_enlaces = 3;//Elegí un número pequeño para que se note el resultado
  15.  
  16. //Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
  17. include("paginator.inc.php");
  18.  
  19. //Leemos y escribimos los registros de la página actual
  20. while($row = mysql_fetch_array($_pagi_result)){
  21.     echo $row['pkID']."<br />";
  22. }
  23.  
  24. //Incluimos la barra de navegación
  25. echo"<p>".$_pagi_navegacion."</p>";
  26. ?>



Muchas gracias por todo.
  #2 (permalink)  
Antiguo 13/08/2009, 11:22
 
Fecha de Ingreso: julio-2009
Mensajes: 10
Antigüedad: 14 años, 9 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. ?>
  #3 (permalink)  
Antiguo 13/08/2009, 11:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: paginación de resultados provenientes de un formulario

Por favor, no coloque código de programación en el foro de Bases de Datos.
Véase: http://www.forosdelweb.com/f21/funci...-datos-413499/

Gracias.

Tema transladado desde la sección de MySQL.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:32.