Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2009, 08:40
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
como mantener la busqueda con paginacion

buenas a todos. tengo un problema. yo estoy haciendo una busqueda de productos con 3 selects. el primer select es el nombre del producto, el 2do es la categoria del producto y el 3ro es el modelo.

cuando no selecciono los 3 selects, me muestra todos los productos. inclui la paginacion tambien para hacer la busqueda. estos productos me deben de paginar pero cuando voy a la paginacion 2 pero me muestra en blanco que no hay nada. pero para que me muestren los productos que no he seleccionado, hago de esta forma:

Código PHP:
$registros 8;

if (!
$pagina) { 
    
$inicio 0
    
$pagina 1
}else{ 
    
$inicio = ($pagina 1) * $registros
}         

#hacer la busqueda de los productos.

#tipo de producto
if($_POST['producto']!="0"){
    
$condicion "and p.idproducto = '".$_POST['producto']."'";
}
#categoria del producto.
if($_POST['categoria']!="0"){
    
$condicion .= "and p.idcategoria = '".$_POST['categoria']."'";
}
#modelo del producto.
if($_POST['modelo']!="0"){
    
$condicion .= "and p.idmodelo = '".$_POST['modelo']."'";
}                        
    
$sql_productos "SELECT p.*, c.*, m.* FROM miusb_productos p, miusb_categorias c, miusb_modelos m
WHERE p.idcategoria = c.idcategoria
AND p.idmodelo = m.idmodelo
"
.$condicion."";

$rpta_productos mysql_query($sql_productos) or die(mysql_error());
$total_registros mysql_num_rows($rpta_productos);

$resultado_busqueda_productos "SELECT p.*, c.*, m.* FROM miusb_productos p, miusb_categorias c, 
miusb_modelos m
WHERE p.idcategoria = c.idcategoria
AND p.idmodelo = m.idmodelo
"
.$condicion."
LIMIT $inicio, $registros"
;

$rs_resultado_busqueda_productos mysql_query($resultado_busqueda_productos) or die(mysql_error());
$filas_productos mysql_num_rows($rs_resultado_busqueda_productos);            

$total_paginas ceil($total_registros $registros); 
codigo de la paginacion.

Código PHP:
#codigo de paginacion.
<?php
    
#pregunto si hay resultados para paginar.
        
    
mysql_free_result($rs_resultado_busqueda_productos);                
    
    if(
$total_registros) {

        if((
$pagina 1) > 0) {
?>
    <a href="miusb_buscar_productos.php?pagina=<?=($pagina-1); ?>">< Anterior</a>
    <?php        
        
}
?>
    <?php

        
for ($i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i) {
                echo 
"<a class='sel' href = '#'>".$pagina."</a> "
            } else {
?>
    <a href="miusb_buscar_productos.php?pagina=<?=$i?>" ><?php echo $i?></a>
    <?php

            
}    
        }
      
        if((
$pagina 1)<=$total_paginas) {
?>
    <a href="miusb_buscar_productos.php?pagina=<?=($pagina+1); ?>">Siguiente ></a>
    <?php
        
        
}
        
    }
mi problema es como debo mantaner la busqueda de la paginacion con o sin haber selccionado los 3 selects, ya sea el primero, el segundo y el tercero.

ayudenme con mi problema.

es urgente. por favor ayudenme.

Última edición por esaenz22; 13/05/2009 a las 09:54 Razón: correcion de mi problema y no me responden.