Foros del Web » Programando para Internet » PHP »

Como hacer una busqueda en registros paginados

Estas en el tema de Como hacer una busqueda en registros paginados en el foro de PHP en Foros del Web. Para paginar estoy usando la clase phppaging de MyOkaram todo esta ok pero agregue un form con un campo texto llamado txtBusqueda, para hacer un ...
  #1 (permalink)  
Antiguo 23/05/2008, 12:59
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Como hacer una busqueda en registros paginados

Para paginar estoy usando la clase phppaging de MyOkaram todo esta ok pero agregue un form con un campo texto llamado txtBusqueda, para hacer un busqueda dentro de la paginacion y cambie la consulta de esta manera agregando un WHERE:
Código PHP:
$tabla "SELECT * FROM producto WHERE nomprod LIKE '%" $_POST['txtBusqueda'] . "%'"
La primera pagina muestra los resultados correctos pero al hacer click en la 2da pagina me muestra los resultados generales de la paginacion, es decir la busqueda mediante el campo text se pierde, no que se puedo hacer para resolverlo espero me ayuden o me dén alguna idea donde estoy fallando
  #2 (permalink)  
Antiguo 23/05/2008, 13:01
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Como hacer una busqueda en registros paginados

Bueno para que me puedan ayudar tambien dejo todo el codigo que utilizo
Código PHP:
<html>
<body>
<form name="form1" method="post" action="22.php">
Buscar:
<input type="text" name="txtBusqueda" id="txtBusqueda">
<input type="submit" name="cmdBuscar"  id="cmdBuscar" value="IR">
</form>
<?
mysql_connect
('localhost','root',''); 
mysql_select_db('tienda'); 
$tabla "SELECT * FROM producto WHERE nomprod LIKE '%" $_POST['txtBusqueda'] . "%'"

//Iniciamos la clase PHPPaging, luego de haberla incluido: 
include_once 'phppaging/PHPPaging.lib.php'
$paging = new PHPPaging
//Le damos a la clase la consulta 
$paging->agregarConsulta($tabla); 
//Y que el script haga su trabajo... 
$paging->ejecutar(); 

//Ahora habrá que imprimir los resultados. 
echo "<table border='1' width='500'>" "\n"
echo 
"<tr>" "\n"
echo 
"<td width='75'>codprod</td>" "\n"
echo 
"<td>nomprod</td>" "\n"
echo 
"</tr>" "\n"

while(
$registro $paging->fetchResultado()) { 
    echo 
"<tr>" "\n"
    echo 
"<td>".$registro['codprod']."</td>" "\n"
    echo 
"<td>".$registro['nomprod']."</td>" "\n"
    echo 
"</tr>" "\n"

echo 
"</table>" "\n"

//link de navegacion de la paginacion
$links $paging->fetchNavegacion(); 
echo 
$links
?>
</body>
</html>
  #3 (permalink)  
Antiguo 23/05/2008, 14:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como hacer una busqueda en registros paginados

Hola franko1809,

El problema es que estás usando POST, recuerda que para usar POST debes de usar un formulario, así que te recomiendo cambies tu búsqueda a que use GET para que no tengas problemas.

Saludos.
  #4 (permalink)  
Antiguo 23/05/2008, 15:03
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Como hacer una busqueda en registros paginados

Cambie a get y el problema presiste, me han dicho que debo usar 2 paginas para lograrlo pero no tengo idea como?
  #5 (permalink)  
Antiguo 23/05/2008, 15:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como hacer una busqueda en registros paginados

Hola fraknko1809,

Adicionalemente a usar GET debes de asegurarte que la clase de paginación que estas usando te propague los datos, en este caso el string que contiene tu búsqueda.

Saludos.
  #6 (permalink)  
Antiguo 23/05/2008, 15:50
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Como hacer una busqueda en registros paginados

bien GatorV ya solucione el problema
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 23:49.