Foros del Web » Programando para Internet » PHP »

Pginar resultados de una busqueda

Estas en el tema de Pginar resultados de una busqueda en el foro de PHP en Foros del Web. Hola a todos, Necesito vuestra ayuda, estoy intentando realizar la paginación de los resultados de una búsqueda a una base de datos mysql. El caso ...
  #1 (permalink)  
Antiguo 02/03/2008, 17:03
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Pginar resultados de una busqueda

Hola a todos,

Necesito vuestra ayuda, estoy intentando realizar la paginación de los resultados de una búsqueda a una base de datos mysql.

El caso es que el paginar resultados de una consulta no es problema, he buscado varios manuales en internet y todos funcionan correctamente.
El problema es que lo que quiero paginar son los resultados de una búsqueda, es decir, tengo un formulario con varios campos, que son pasados a la página de busqueda por el metodo GET, y los cuales son utilizados como condiciones para la busqueda en la base de datos, en la primera página realiza la paginación correctamente, pero en las siguientes no sé como hacer para que me guarde esta condiciones para la búsqueda, ya que me ignora las condicones de la busqueda.
¿Alguno me puede echar una mano?

Muchas Gracias
  #2 (permalink)  
Antiguo 02/03/2008, 17:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Pginar resultados de una busqueda

busca PAGINATOR en google, esta en español y segun creo pagina todos los resultados que obtiene de la consulta juntos, si no lo has provado ya
  #3 (permalink)  
Antiguo 02/03/2008, 18:15
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Pginar resultados de una busqueda

Me vas a disculpar jaronu pero es mejor PHPPaging de OKRAM http://php.myokram.info/phppaging/

por que ? bueno por que me gusta y me toma menos tiempo en montar mi paginador el cual tiene muchas caracteristicas interesantes. a diferencia del ya arriba comentado

Última edición por eddwinpaz; 02/03/2008 a las 20:10
  #4 (permalink)  
Antiguo 13/03/2008, 17:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Pginar resultados de una busqueda

Buenas noches como estan?? chequeando varias opciones para paginar con php me encontre dentro del foro esta opcion para paginar resultados de una búsqueda llamada PHPPaging y que me resulto interesante.

Bueno mi consulta, por si me puedes ayudar, es la siguiente, vi los ejemplos que tiene PHPPaging, ellos plantean como un simlpe ejemplo el usar una variable X para almacenar la accion de busqueda que bien podria ser
Cita:
$sql = "SELECT * FROM inscripciones ORDER BY id ASC";
Ahora yo modifque esa variable para que hiciera la busqueda con relacion a un valor que se pueda ingresar en un Textfield por ejemplo
Cita:
$sql="select * from inscripciones where nombre='$_POST[nombre]' ORDER BY id ASC";
Claro esta que en este caso nombre seria el valor por el cual hacemos la busqueda. Ahora mi problema es el siguiente, cuando defino la busqueda y me recupera X cantidad de registros, cuando intento pasar a la siguiente pagina se pone en blanco hasta que ingreso nuevamente el valor y es cuando aparecen los registros correspondientes a ese valor. Crees que podrias ayudarme a solucionar esto?? el codigo completo de la pagina es el siguiente:
Cita:
<?php
include "conexion.php";
$sql="select * from inscripciones where nombre='$_POST[nombre]' ORDER BY id ASC";
include_once 'PHPPaging.lib.php';
$paging = new PHPPaging;
$paging->agregarConsulta($sql);

//configuracion del script
$paging->porPagina(6);
$paging->paginasAntes(1);
$paging->paginasDespues(1);
$paging->linkClase('navbar');
$paging->linkSeparador(' - ');
$paging->ejecutar();
//fin configuracion

echo "<table border=\"1\" width=\"100%\">";
echo "<tr>";
echo "<td><b>ID de usuario</b></td>";
echo "<td><b>Nombres</b></td>";
echo "<td><b>Apellidos</b></td>";
echo "<td><b>cedula</b></td>";
echo "</tr>";

while($datos = $paging->fetchResultado()) {
echo "<tr>";
echo "<td>$datos[id]</td>";
echo "<td>$datos[nombre]</td>";
echo "<td>$datos[apellido]</td>";
echo "<td>$datos[cedula]</td>";
echo "</tr>";
}

echo "</table>";
echo "<br />";
echo "<b>Navegación</b>: ".$paging->fetchNavegacion();
echo "<br><b>Total de Paginas</b>: ".$num_paginas = $paging->numTotalPaginas();
echo "<br><b>Pagina Actual</b>: ".$pagina_actual = $paging->numEstaPagina();
echo "<br><b>registros del</b>: ".$primer_elemento = $paging->numPrimerRegistro();
echo "<b> al</b> ".$ultimo_elemento = $paging->numUltimoRegistro();
echo "<br><b>total de registros</b>:".$total_registros = $paging->numTotalRegistros();
echo "<br><b>Numero de registros mostrados:</b> ".$paging->numRegistrosMostrados();

?>
Gracias por la ayuda que me puedan prestar.
  #5 (permalink)  
Antiguo 14/03/2008, 11:41
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Pginar resultados de una busqueda

El script propaga en su barra de navegación las variables que le llegan por GET. En todo caso, estos días haré la modificación para recibir y propagar aquellas que llegan por otros métodos, como POST.

Una solución es uses el método GET en tu búsqueda, en vez de POST. Otra es modificar el script, busca el método fetchNavegación(), y cambia esto:

Código PHP:
foreach($_GET as $key=>$val) {
    if(
$key !== $this->nombreVariable) {
        
$i[] = "$key=$val";
    }

por
Código PHP:
foreach($_REQUEST as $key=>$val) {
    if(
$key !== $this->nombreVariable) {
        
$i[] = "$key=$val";
    }

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 22:25.