Foros del Web » Programando para Internet » PHP »

Paginacion resultados ayuda!

Estas en el tema de Paginacion resultados ayuda! en el foro de PHP en Foros del Web. Hola amigos tengo este codigo que pagina los resultados, 5 por pagina, cuando le doy a buscar, muestra los primeros 5 con lo que el ...
  #1 (permalink)  
Antiguo 13/05/2010, 17:24
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Paginacion resultados ayuda!

Hola amigos tengo este codigo que pagina los resultados, 5 por pagina, cuando le doy a buscar, muestra los primeros 5 con lo que el usuario eligió, pero al pasar a la segunda pagina, me muestra todos los usuarios de la bd, y no los siguientes 5 usuarios.

Esta es la parte que hace la paginacion:

Código PHP:
Ver original
  1. if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
  2. $result = mysql_query("SELECT COUNT(*) FROM members");
  3. list($total) = mysql_fetch_row($result);
  4. $tampag = 5;
  5. $reg1 = ($pag-1) * $tampag;
  6. $result = mysql_query("SELECT sexo, interestin, pais, estadocivil FROM members
  7.  LIMIT $reg1, $tampag");
  8.  
  9.  
  10. function paginar($actual, $total, $por_pagina, $enlace) {
  11.   $total_paginas = ceil($total/$por_pagina);
  12.   $anterior = $actual - 1;
  13.   $posterior = $actual + 1;
  14.   if ($actual>1)
  15.     $texto = "<a href=\"$enlace$anterior\">&laquo;</a> ";
  16.   else
  17.     $texto = "<b>&laquo;</b> ";
  18.   for ($i=1; $i<$actual; $i++)
  19.     $texto .= "<a href=\"$enlace$i\">$i</a> ";
  20.   $texto .= "<b>$actual</b> ";
  21.   for ($i=$actual+1; $i<=$total_paginas; $i++)
  22.     $texto .= "<a href=\"$enlace$i\">$i</a> ";
  23.   if ($actual<$total_paginas)
  24.     $texto .= "<a href=\"$enlace$posterior\">&raquo;</a>";
  25.   else
  26.     $texto .= "<b>&raquo;</b>";
  27.   return $texto;
  28. }
  #2 (permalink)  
Antiguo 13/05/2010, 17:50
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 15 años
Puntos: 16
Respuesta: Paginacion resultados ayuda!

#
if (!isset($pag)) { $pag = 1; }// Por defecto, pagina 1

Por otro lado, ¿como cargas el pag cuando la página ya existe?(cuando le das a siguiente)
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #3 (permalink)  
Antiguo 13/05/2010, 18:14
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Paginacion resultados ayuda!

No entiendo donde está el error, lo cargo haciendo algo asi:

Código PHP:
Ver original
  1. <?php echo paginar($pag, $total, $tampag, "show_results.php?pag="); ?>
  #4 (permalink)  
Antiguo 14/05/2010, 16:53
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Paginacion resultados ayuda!

Hola, que tal, ahora cambié un par de cosas, pero no me tira ningun resultado, que puede estar pasando o que puedo modificar del primero para que funcione?

La primer parte del codigo:
Código PHP:
Ver original
  1. <?php
  2. include('header.inc');
  3. error_reporting(E_ALL ^ E_NOTICE);
  4. session_name('pLogin');
  5.  
  6. if(!$_SESSION['usuario']=='usuario'){
  7. header("Location: index.php");// si no es igual a nick te direcciona al inicio u a otra pagina
  8. }
  9.  
  10. include_once ("connect.php");
  11.  
  12. $id=$_SESSION["id"];
  13. $usuario=$_SESSION["usuario"];
  14.  
  15.  
  16. $sexo = (!empty($_POST["sexo"])
  17.     ? " sexo='".trim($_POST["sexo"])."'"
  18.         : "");
  19.  
  20. $interestin = (!empty($_POST["interestin"])
  21.         ? (!empty($sexo)
  22.                 ? " AND interestin='".trim($_POST["interestin"])."'"
  23.                 : " interestin='".trim($_POST["interestin"])."'")
  24.         : "");
  25.  
  26. $pais = (!empty($_POST["pais"])
  27.         ? (!empty($sexo) || !empty($interestin)
  28.                 ? " AND pais='".trim($_POST["pais"])."'"
  29.                 : " pais='".trim($_POST["pais"])."'")
  30.         : "");
  31.  
  32. $estadocivil= (!empty($_POST["estadocivil"])
  33.         ? (!empty($sexo) || !empty($interestin) || !empty($pais)
  34.                 ? " AND estadocivil='".trim($_POST["estadocivil"])."'"
  35.                 : " estadocivil='".trim($_POST["estadocivil"])."'")
  36.         : "");
  37.  
  38.  
  39.  
  40. $where = (!empty($sexo) || !empty($interestin) || !empty($pais) || !empty($estadocivil)  
  41.         ? " WHERE "
  42.         : "");
  43.  
  44.  
  45.  
  46. $s = "SELECT * FROM members "
  47.         . $where
  48.         . $sexo
  49.         . $interestin
  50.         . $pais
  51.         . $estadocivil;
  52.  
  53. $query = mysql_query($s) or die(mysql_error());
  54.  
  55. if (!isset($pg))
  56. $pg = 0; // $pg es la pagina actual
  57. $cantidad=5; // cantidad de resultados por página
  58. $inicial = $pg * $cantidad;
  59.  
  60. $pegar = "SELECT * FROM members ORDER BY usuario LIMIT $inicial,$cantidad";
  61. $cad = mysql_db_query($base,$pegar) or die (mysql_error());
  62.  
  63. $contar = "SELECT * FROM members ORDER BY usuario";
  64. $contarok= mysql_db_query($base,$contar);
  65. $total_records = mysql_num_rows($contarok);
  66. $pages = intval($total_records / $cantidad);
  67.  
  68. // Imprimiendo los resultados
  69. while($array = mysql_fetch_array($cad)) {
  70. echo $array['usuario']."<br>";
  71. }
  72.  
  73. // Cerramos la conexión a la base
  74. $link=mysql_close($link);
  75.  
  76.  
  77.  
  78.  
  79. while($row = mysql_fetch_array($query)) {
  80.  
  81.  
  82.        
  83.  
  84.            
  85.  
  86.  
  87. ?>


Despues va el html y <?php $row["estadocivil"];?> o sea datos del usuario

y despues la paginacion:

Código PHP:
Ver original
  1. <?php // Creando los enlaces de paginación
  2. echo "<p>";
  3. if ($pg <> 0)
  4. {
  5. $url = $pg - 1;
  6. echo "<a href='results.php?pg=".$url."'>« Anterior</a> ";
  7. }
  8. else {
  9. echo " ";
  10. }
  11.  
  12. for ($i = 0; $i<($pages + 1); $i++) {
  13. if ($i == $pg) {
  14. echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
  15. }
  16. else {
  17. echo "<a href='results.php?pg=".$i."'>".$i."</a> ";
  18. }
  19. }
  20.  
  21. if ($pg < $pages) {
  22. $url = $pg + 1;
  23. echo "<a href='results.php?pg=".$url."'>Siguiente »</a>";
  24. }
  25. else {
  26. echo " ";
  27. }
  28. echo "</p>";
  29.  ?>

Necesito ayuda, no logro comprenderlo.

gracias por leer

Etiquetas: paginacion, resultados
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 12:06.