Foros del Web » Programando para Internet » PHP »

ayuda con paginacion

Estas en el tema de ayuda con paginacion en el foro de PHP en Foros del Web. Hola amigos despues de un largo tiempo vuelvo a consulta. El problema pasa por lo siguiente implemente paginacion a 3 link de distintas categorias lo ...
  #1 (permalink)  
Antiguo 20/04/2009, 10:07
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta

Hola amigos despues de un largo tiempo vuelvo a consulta.
El problema pasa por lo siguiente implemente paginacion a 3 link de distintas categorias lo raro es q cuando pongo a ejecutar la paginacion me muestra la paginacion de las tres categorias es decir
click en link Primera A me deberia mostrar la paginacion de es categoria solamente pero me las nuestra de esa categoria mas las otras tres hice esto
Código php:
Ver original
  1. <?php  
  2. include('conectar.php');
  3. $link=Conectarse();
  4. $categoria = $_GET['categoria'];
  5. $listado = mysql_query("select * from programacion where categoria='$categoria'");
  6.  $nfilas = mysql_num_rows ($listado);
  7.       if ($nfilas > 0)
  8.       {
  9.  
  10. ?>
  11.  
  12.  
  13. <body>
  14.  
  15.    
  16.   <table border="0"cellspacing="0" cellpadding="0" width="500" align="center">
  17.     <tr>
  18.    
  19.       <table border="0" style=" border:#FF0000"  align="center" background="modulos/imagenes/pelota3.jpg">
  20.         </tr>
  21.          
  22.              <?php     
  23.               while($row = mysql_fetch_array($listado)){
  24.               include('PHPPaging.lib.php');
  25.               $paging = new PHPPaging;
  26.               $paging->agregarConsulta("SELECT * FROM programacion ORDER BY id ASC");
  27.               $paging->ejecutar();
  28.               while($datos = $paging->fetchResultado()) {
  29.               ?>
  30.               <tr style=" background:#90a624" font-"family:verdana,arial; font-size:8pt">
  31.               <td align="center" width="400"> <span class="Estilo3"><?php echo $datos['titulo']; ?></span> </td>
  32.               </tr>
  33.             <tr >  
  34.             <td>  <br><br> <span class="Estilo3"><?php echo $datos['campo']; ?></span></td>
  35.             </tr>
  36.                                    
  37.             <?php
  38.              }
  39.              }
  40.             ?>
  41.                 <tr>
  42.                 <td align="left">
  43.                 <a href="index.php?mod=programacion&pag=posiciones"> Posiciones </a>
  44.                 </td>
  45.                 </tr>
  46.               </table>
  47.                <center><?php echo $paging->fetchNavegacion(); ?></center>
  48.         <?php  
  49.      
  50.         mysql_free_result($listado);
  51.          }
  52.       else
  53.             echo (" <center> No existen noticias Publicadas... </center>");
  54.       mysql_close($link);
  55.      ?>
  56.  <tr>
  57. </table>

Espero que me puedan ayudar una cosa mas en mi link llamo asi :
http://localhost/proyecto_cisco/inde...egoria=primera y quiero paginacion de solo esacategoria de de las otras tres y no se en donde puede estar mi error

Como podria hacer para q exista paginacion en las diferentes categorias sin que me nuestre todas de una sola corrida

Me sucede algo curioso ya saliendo del problema anterio pero con paginacion
estoy probando esto:

Código php:
Ver original
  1. include ('PHPPaging.lib.php');
  2.         $server_link = mysql_connect("localhost", "root", "");
  3.         if(!$server_link){ die("Fallo de conexion ". mysql_error());
  4.         }
  5.         // seleccionamos la base de datos
  6.         $db_selected = mysql_select_db("bd_asociacion", $server_link);
  7.         if(!$db_selected){ die("No se pudo seleccionar la Base de Datos ". mysql_error());
  8.         }
  9.         // varificamos que el formulario halla sido enviado
  10.         if(isset($_POST['buscar']) && $_POST['buscar'] == 'Buscar'){
  11.                 $frase = addslashes($_POST['frase']);  
  12.  
  13.                
  14.                  // Instanciamos el objeto
  15.                  $paging = new PHPPaging;
  16.                  
  17.                 // Poniendo 20 resultados por página
  18.                  $paging->porPagina(20);
  19.                 // Estableciendo las páginas adyacentes
  20.                  $paging->paginasAntes(4, 10, 20);
  21.                  $paging->paginasDespues(4, 10, 20);  
  22.                 // Cambiando el texto de la referencia a la página actual
  23.                  $paging->mostrarActual("<span class=\"navthis\">{n}</span>");
  24.    
  25.                 // Indicamos la consulta al objeto
  26.                 // hacemos la consulta de busqueda
  27.                 // acá van las modificaciones, se elimina $sqlBuscar, $totalRows y el if por esto
  28.    
  29.                  $paging->agregarConsulta("SELECT id,nombre,club,fecha_n,division,nacionalidad,categoria,estado,lugar,registro_fbf,
  30.                               MATCH (nombre,club,categoria,division,nacionalidad,estado,lugar)
  31.                               AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  32.                               FROM jugadores
  33.                               WHERE MATCH (nombre,club,categoria,division,nacionalidad,estado,lugar)
  34.                               AGAINST ('$frase' IN BOOLEAN MODE)
  35.                               ORDER BY coincidencias ASC", $server_link);            
  36.    
  37.                 // aca otros cambios, con la funcion ejecutar mostramos todo
  38.                 $paging->ejecutar();
  39.        
  40.                 // y  luego mostramos los resultados con un pequeño cambio al while
  41.                 while($row = $paging->fetchResultado()) {
  42.                 echo "<tr>";
  43.                 echo "<td>".$row['id']."</td>";
  44.                 echo "<td>".$row['nombre']."</td>";
  45.                 echo "<td>".$row['fecha_n']."</td>";
  46.                 echo "<td>".$row['nacionalidad']."</td>";
  47.                 echo "<td>".$row['club']."</td>";
  48.                 echo "<td>".$row['categoria']."</td>";
  49.                 echo "<td>".$row['registro_fbf']."</td>";
  50.                
  51.                 ?>
  52.                 <input type="hidden" name="club" value="<?php echo $row['club'];?>" />
  53.                 <td> <a href="index.php?mod=consultas&pag=editar&id=<?php echo $row['id']; ?> "><img src="modulos/imagenes/actualizar.jpeg"/></a> </td>
  54.                 <td> <a href="index.php?mod=consultas&pag=eliminar&id=<?php echo $row['id']; ?> "><img src="modulos/imagenes/eliminar.jpeg"/></a> </td>
  55.                 <td> <a href="modulos/consultas/vistas/imprimir_pdf.php?id=<?php echo $row['id']; ?>"><img src="modulos/imagenes/pdf.jpeg"/></a></td>
  56.                 <?php
  57.                        
  58.                 echo "</tr>";  
  59.                
  60.                 }
  61.                
  62.                 echo "<tr>";
  63.                 echo "<td colspan=14 align=center><b><SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:black;font-weight:bold\">Página ".$paging->numEstaPagina()." de ".$paging->numTotalPaginas()."</SPAN></b><br/></td>";
  64.                 echo "</tr>";
  65.                 ?>
  66.                 <tr><td colspan="12" align="center">
  67.                 <input  type="submit" name="genera" value="Imprimir" />
  68.                 </form>
  69.                 </td></tr>
  70.                 <?php
  71.                 echo "</table>";
  72.                 echo "<br>";
  73.                
  74.                 echo "<center>";
  75.                
  76.                 echo "<a href=index.php?mod=consultas&pag=buscar class=Estilo1> Nueva Busqueda </a><br>";
  77.                
  78.                 echo "<SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:black;font-weight:bold\">Mostrando ".$paging->numRegistrosMostrados()." resultados, del ".$paging->numPrimerRegistro()." al ".$paging->numUltimoRegistro();
  79.                 echo " de un total de ".$paging->numTotalRegistros()."</SPAN><br />";
  80.    
  81.     // Comienza la barra de navegacion, la mostramos
  82.                 echo "<b><SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:#9B0000;font-weight:bold\">Navegación: ".$paging->fetchNavegacion()."</SPAN></b>";
  83.                 echo "</center>";
  84.                
  85.            
  86.   }
  87.  
  88.  
  89.  
  90. ?>

Ahora lo probe ya con 300 datos pongo algun dato en comun y me vota 80 resultados los muestro en 20 por 20 pero aqui esta lo curioso los primeros 20 me los nuestra t luego cuando pongo siguiente ya no me muestra lo que resta ???
alguien sabe pq

Hola ya se que no es de paginacion en problema sino de modulacion creo

http://localhost/proyecto_cisco/inde...as&pag=proceso este es el resultado de las primeras 20 datos pero cuando pongo siguiente asi
http://localhost/proyecto_cisco/inde...proceso&page=2 me nuestra la tabla pero desconfigurada y sin los datos

Última edición por GatorV; 21/04/2009 a las 09:52
  #2 (permalink)  
Antiguo 21/04/2009, 08:12
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Sonrisa FullText con Mostrar Resultados de Busqueda

Hola amigos tengo este problema este es mi buscador :

Código html:
Ver original
  1. <title>Buscador de Resultados *** ACHF *** </title>
  2. </head>
  3. <form action="index.php?mod=consultas&pag=proceso" method="post" name="buscar">
  4.  <table  border="1" align="center">
  5.   <tr>
  6.     <th scope="col" colspan="2" align="center">*** Consultas *** </th>
  7.    
  8.   </tr>
  9.   <tr>
  10.     <td><input type="text" size="40"  name="frase" value="<?php $_POST['frase'];?>"></td>
  11.     <td><input type="submit" name="buscar" value="Buscar"></td>
  12.   </tr>
  13.  
  14.  
  15. </form>
  16. </body>
  17. </html>
y este s mi controlador:
Código php:
Ver original
  1. <?php
  2.     $pagina = $_GET['pag'];
  3.     include('modulos/jugadores/jugadores.mod.php');
  4.     $MOD['jugadores'] = new Jugadores();
  5.    
  6.     switch($pagina) {
  7.         case 'proceso':
  8.            
  9.            include('modulos/consultas/vistas/proceso_busqueda.html.php');
  10.         break;
  11.        
  12.         case 'buscar':
  13.         default:
  14.         include('modulos/consultas/vistas/buscar.html.php');
  15.         break;
  16.        
  17.        
  18.     }
  19. ?>


Bueno el problema es que busco en mi base de datos un dato comun por decir juan me muestra 40 datos con juan, me muestra los 30 primeros y cuando hago siguiente ya no me muestra los otros 10 que restan y me muestra la tabla pero sin datos es como si ubicieso vuelto a buscar nada.
Este es mi script de busqueda.
Código php:
Ver original
  1. <table border="1" align="center">
  2.     <tr> <th colspan="14"> Resultados de la Busqueda </th></tr>
  3.     <tr>
  4.     <td>ID</td>
  5.     <td>Nombres</td>
  6.     <td colspan="2" align="center"> Apellidos </td>
  7.     <td align="center">Fecha Nac. </td>
  8.     <td>Nacionalidad </td>
  9.     <td align="center">Club </td>
  10.     <td>Categoria </td>
  11.     <td>F.B.F </td>
  12.     <td colspan="3" align="center">Opciones</td>
  13.     </tr>
  14. <?php
  15. // conectar al servidor
  16.  include ('PHPPaging.lib.php');
  17.         $server_link = mysql_connect("localhost", "root", "");
  18.         if(!$server_link){ die("Fallo de conexion ". mysql_error());
  19.         }
  20.         // seleccionamos la base de datos
  21.         $db_selected = mysql_select_db("bd_asociacion", $server_link);
  22.         if(!$db_selected){ die("No se pudo seleccionar la Base de Datos ". mysql_error());
  23.         }
  24.         // varificamos que el formulario halla sido enviado
  25.         if(isset($_POST['buscar']) && $_POST['buscar'] == 'Buscar'){
  26.                 $frase = addslashes($_POST['frase']);  
  27.  
  28.                
  29.                  // Instanciamos el objeto
  30.                  $paging = new PHPPaging;
  31.                 // Poniendo 20 resultados por página
  32.                  $paging->porPagina(10);
  33.                 // Estableciendo las páginas adyacentes
  34.                  $paging->paginasAntes(4, 10, 20);
  35.                  $paging->paginasDespues(4, 10, 20);  
  36.                 // Cambiando el texto de la referencia a la página actual
  37.                  $paging->mostrarActual("<span class=\"navthis\">{n}</span>");
  38.    
  39.                 // Indicamos la consulta al objeto
  40.                 // hacemos la consulta de busqueda
  41.                 // acá van las modificaciones, se elimina $sqlBuscar, $totalRows y el if por esto
  42.    
  43.                  $paging->agregarConsulta("SELECT id,nombre,club,fecha_n,division,nacionalidad,categoria,estado,lugar,nombre_p,nombre_m,registro_fbf,
  44.                              MATCH (nombre,club,categoria,division,nacionalidad,estado,lugar,nombre_p,nombre_m)
  45.                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  46.                              FROM jugadores
  47.                              WHERE MATCH (nombre,club,categoria,division,nacionalidad,estado,lugar,nombre_p,nombre_m)
  48.                              AGAINST ('$frase' IN BOOLEAN MODE)
  49.                              ORDER BY coincidencias ASC", $server_link);            
  50.    
  51.                 // aca otros cambios, con la funcion ejecutar mostramos todo
  52.                 $paging->ejecutar();
  53.        
  54.                 // y  luego mostramos los resultados con un pequeño cambio al while
  55.                 while($row = $paging->fetchResultado()) {
  56.                 echo "<tr>";
  57.                 echo "<td>".$row['id']."</td>";
  58.                 echo "<td>".$row['nombre']."</td>";
  59.                 echo "<td>".$row['paterno']."</td>";
  60.                 echo "<td>".$row['materno']."</td>";
  61.                 echo "<td>".$row['fecha_n']."</td>";
  62.                 echo "<td>".$row['nacionalidad']."</td>";
  63.                 echo "<td>".$row['club']."</td>";
  64.                 echo "<td>".$row['categoria']."</td>";
  65.                 echo "<td>".$row['registro_fbf']."</td>";
  66.                 ?>
  67.                 <td> <a href="index.php?mod=consultas&pag=editar&id=<?php echo $row['id']; ?> "> Modificar </a> </td>
  68.                 <td> <a href="index.php?mod=consultas&pag=eliminar&id=<?php echo $row['id']; ?> "> Eliminar </a> </td>
  69.                 <td> <a href="loque.php"> Imprimir </td>
  70.                 <?php
  71.                        
  72.                 echo "</tr>";  
  73.                
  74.                 }
  75.                
  76.                 echo "<tr>";
  77.                 echo "<td colspan=14 align=center><b><SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:black;font-weight:bold\">Página ".$paging->numEstaPagina()." de ".$paging->numTotalPaginas()."</SPAN></b><br/></td>";
  78.                 echo "</tr>";
  79.                 echo "</table>";
  80.                 echo "<br>";
  81.                
  82.                 echo "<center>";
  83.                
  84.                 echo "<a href=index.php?mod=consultas&pag=buscar class=Estilo1> Nueva Busqueda </a><br>";
  85.                 echo "<SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:black;font-weight:bold\">Mostrando ".$paging->numRegistrosMostrados()." resultados, del ".$paging->numPrimerRegistro()." al ".$paging->numUltimoRegistro();
  86.                 echo " de un total de ".$paging->numTotalRegistros()."</SPAN><br />";
  87.     // Comienza la barra de navegacion, la mostramos
  88.                 echo "<b><div id=\"siteInfo12\"><SPAN STYLE=\"font-size:11px;font-family:Tahoma;color:#9B0000;font-weight:bold\">Navegación: ".$paging->fetchNavegacion()."</SPAN></div></b>";
  89.                 echo "</center>";
  90.      // y listo!
  91.        
  92.   }
  93.  
  94.  
  95.  
  96. ?>
La verdad no creo que se el full text que utilizo pq me encuntra los datos que busco sino es al querer ver los datos buscados donde no se puedo ver mas q los 30 primeros
Alguien podria echarme una mano
  #3 (permalink)  
Antiguo 21/04/2009, 10:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ayuda con paginacion

Al estar usando $_POST['frase'] y $_POST['buscar'], cuando paginas esto se hace por GET entonces se pierden estas variables, vas a tener que modificar tu formulario de búsqueda para que trabaje por GET en lugar de POST.

Saludos.
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:56.