Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/05/2009, 11:41
Avatar de the_web_saint
the_web_saint
 
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: como mantener la busqueda con paginacion

Código php:
Ver original
  1. if(!isset($_SESSION['SqlBusqueda']) || $_SESSION['SqlBusqueda']=='')
  2. {
  3. $_SESSION['SqlBusqueda']="SELECT p.*, c.*, m.* FROM miusb_productos p, miusb_categorias c, miusb_modelos m
  4. WHERE p.idcategoria = c.idcategoria
  5. AND p.idmodelo = m.idmodelo";
  6. }
  7.  
  8. $registros = 8;
  9.  
  10. if (!$pagina) {
  11.     $inicio = 0;
  12.     $pagina = 1;
  13. }else{
  14.     $inicio = ($pagina - 1) * $registros;
  15. }        
  16.  
  17. #hacer la busqueda de los productos.
  18.  
  19. #tipo de producto
  20. if(isset($_POST['enviar']) && $_POST['enviar']=='Enviar')
  21. {
  22. if($_POST['producto']!="0"){
  23.     $condicion = "and p.idproducto = '".$_POST['producto']."'";
  24. }
  25. #categoria del producto.
  26. if($_POST['categoria']!="0"){
  27.     $condicion .= "and p.idcategoria = '".$_POST['categoria']."'";
  28. }
  29. #modelo del producto.
  30. if($_POST['modelo']!="0"){
  31.     $condicion .= "and p.idmodelo = '".$_POST['modelo']."'";
  32. }                        
  33.    
  34. $sql_productos = "SELECT p.*, c.*, m.* FROM miusb_productos p, miusb_categorias c, miusb_modelos m
  35. WHERE p.idcategoria = c.idcategoria
  36. AND p.idmodelo = m.idmodelo
  37. ".$condicion."";
  38.  
  39. $_SESSION['SqlBusqueda']=$sql_productos;
  40.  
  41. }
  42. $rpta_productos = mysql_query($_SESSION['SqlBusqueda']) or die(mysql_error());
  43. $total_registros = mysql_num_rows($rpta_productos);
  44.  
  45. $resultado_busqueda_productos = $_SESSION['SqlBusqueda']." LIMIT $inicio, $registros";
  46.  
  47. $rs_resultado_busqueda_productos = mysql_query($resultado_busqueda_productos) or die(mysql_error());
  48. $filas_productos = mysql_num_rows($rs_resultado_busqueda_productos);            
  49.  
  50. $total_paginas = ceil($total_registros / $registros);

Creo que te puede dar una idea, no esta probada asi q puede fallar.

Solo debes colocar el verdadero nombre del input de envio en el formulario de los combos, en la linea 21.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.