Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/02/2009, 14:17
leider-garcia
 
Fecha de Ingreso: febrero-2009
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Respuesta: Filtrar consulta con formulario

hola Necrobone, creo enender tu problema, y beuno para probarlo me cree un escernario que refleje tu situacion, espero estar acertando.
mi escenario: tengo una base de datos con 2 tablas producto y categoria, y bueno al inicio muestro todos los productos sin improtar la categoria a la que pertenecen, luego cuando el usuario decide filtrar los productos de una determinada categoria lo que hace es seleccionar de un combo la que desee y con un boton filtrar, muestro solo aquellos productos que pertenecen a esa categoria.

Aqui te dejo el codigo de lo que puedes hacer,:

Archivo index.php

Código:
<?php 
 
    $value = $_REQUEST['cbx_cat'];    
    
    $sql = "select cat_id, cat_nombre from categoria";
    $db->setQuery($sql);
    $rows = $db->loadRowList();

    // la 3 lineas anteriores debes cambiarlas a tu modo de usar tu conexion y consultas a tu base de datos.


    echo "<form id =\"form1\" action=\"index.php\" method=\"post\">\n";
      $combo = "<select name=\"cbx_cat\" id=\"cbx_cat\" >\n";  
      for( $i = 0, $n = count($rows); $i < $n; $i++ ){
        if( $rows[$i][0] == $value ){
  				$combo .= "\t<option value=\"".$rows[$i][0]."\" selected=\"selected\">".$rows[$i][1]."</option>\n";
  			}else{
  				$combo .= "\t<option value=\"".$rows[$i][0]."\">".$rows[$i][1]."</option>\n";
        }
      }    
      echo $combo;    
      echo "<input type=\"submit\" value = \"filtrar\" name=\"submit\" />";
    echo "</form>";
    
   
    if( isset($value) ){
      $sql = "select * from producto where cat_id = ".$value;
    }
    else{      
      $sql = "select * from producto ";
    }
    $db->setQuery($sql);    
    $prods = $db->loadObjectList();
    

// de igual manera debes cambiar para realizar la consulta.

    echo "<table style=\"border: 1px solid #0000ff;\">\n <tr><th>Codigo</th><th>Descripcion</th></tr>";
    foreach( $prods as $key => $v ){
      echo "<tr><td>".$v->pro_id."</td> <td>".$v->pro_nombre."</td><tr>\n";
    }
    echo "</table>";  
?>



Saludos. espero te sirva