Foros del Web » Programando para Internet » PHP »

Filtro simple por categorias con Select

Estas en el tema de Filtro simple por categorias con Select en el foro de PHP en Foros del Web. Hola amigos, queria pedirles su ayuda, es necesario usar jquery-ajax para realizar un filtro desde un combobox(select), lo que necesito es que al seleccionar una ...
  #1 (permalink)  
Antiguo 11/08/2014, 15:04
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
Filtro simple por categorias con Select

Hola amigos, queria pedirles su ayuda, es necesario usar jquery-ajax para realizar un filtro desde un combobox(select), lo que necesito es que al seleccionar una categoria desde un combo, me muestre los registros de esa categoria.

Implemente un buscador que me funciona bien, pero el select no lo puedo hacer funcionar, lo lleno con las categorias desde la bd, hasta ahi bien, pero el resto no me funciona

Trabajo con PDO, tengo el codigo actualmente asi:

Funcion para realizar el filtro:
Código PHP:
function filtroCategorias(){
               
               
$cat=  htmlspecialchars($_POST['cat_aviso']);
               
               
$query="SELECT * FROM avisos WHERE categoria_aviso = ?";
               
               
//preparamos la consulta
               
$stmt=$this->con->prepare($query);
               
               
//Bindamos el parametro
               
$stmt->bindParam(1,$cat);
               
               
//Ejecutamos la consulta
               
$stmt->execute();
               
               if (!
$stmt->rowCount() == 0) { //!= 0
            
                
            
while ($row=$stmt->fetch()){
               
$this->datos[]=$row
            }
            
//Retornamos los Valores
            
return $this->datos;
            }
 
           }
//Funcion Filtro Categorias 
y el archivo donde esta el select:

Código PHP:
//instanciamos el objeto
$aviso= new Avisos();


//Muestro todos los Datos en la pagina
if(isset($_POST['buscar'])){

    if(empty($_POST['buscar'])){
        echo "No se Ingreso ningun Parametro de Busqueda";
    }else{
    //Invoco a la funcion buscar
   $avisos=$aviso->buscarAviso();
   
   //Muestro el lotal de avisos que coinciden con la busqueda
   $totalavisos=count($avisos);
   
    }
} else{
    //cargo por defecto los avisos
    $avisos=$aviso->listadoAvisos();
    
    //Lleno el Combobox desde la Base de Datos
    $av=$aviso->cargarCombo();
    
    //Cuento el total de avisos que hay en la base de Datos
    $totalavisos=count($avisos);
    }

?>

<!DOCTYPE html>
    <!--Busqueda y Filtros-->
    <div class="row">
        <section class="col-lg-12 buscadorAvisos">
            <form method="POST" id="search" class="form-inline" action="">
                <div class="form-group">
                <label for="buscador">Titulo del Aviso:</label>
                <input type="text" name="buscador" class="form-control"/>
                <input type="submit" class="btn btn-default" name="buscar" value="Buscar"/>
                </div>
                <div class="form-group">
                <label for="categorias">Mostrar Avisos de:</label>
                <select name="categorias" class="form-control" id="cat" >
                  
                   <?php foreach($av as $row) : ?> 
                    <option value="<?php echo $row['id_categoria']; ?>"><?php echo $row['categoria']; ?></option> 
                <?php endforeach ?> 

                </select>
                <input type="submit" class="btn btn-default" name="cat_aviso" value="Filtrar"/>
                </div>
            </form>
        </section>
        
       <!--<section class="col-lg-8">
        Filtros de Busqueda
        </section>-->
        
    </div><!--Fin Busqueda y Filtros-->
    
    <!--Presentación de Avisos-->
    <div class="row">
        
        <!--Avisos-->
        <?php foreach($avisos as $row)
            {
                echo 
"<article class='col-lg-12 listadoAvisos'>";
        
        echo 
"<div class='col-lg-5 imagenListaAviso'>";
                    if(
$row['img1']==NULL){
            echo 
"<img src='img/noimage.jpg'  class='img-rounded' />";
            }else{
                                echo 
"<img src=".$row['img1']." height='200px' width='350px' />";}
        echo 
"</div>";
        
                
//contenido
               
echo "<div class='col-lg-6 text-left contenidoListaAviso'>";
                   
        
//Titulo del Aviso
        
echo "<h3 class='text-center'>".$row['titulo_aviso']."</h3>";
        
//Parrafo parte Aviso
        
echo "<p class='text-justify'>".$row['aviso_completo']."</p>";
        
//Fecha de Publicación
        
echo "<p class='text-justify'>".$row['fecha_publicacion']."</p>";
        
//Categoria
        
echo "<p class='text-justify'>".$row['categoria_aviso']."</p>";
        
//Boton Leer Aviso Completo
        
echo "<a class='text-center btn btn-info' href='detalleaviso.php?cod_aviso=".$row['cod_aviso']."'>Ver Aviso</a>";
                   
                echo 
"</div>";
                                                 
                echo 
"</article>";
        
                }
?>
        
                </div>
                
                
        </div>
                
                <!--aca muestro el listado de avisos-->
    
    </div><!--Fin Presentación de Avisos-->
    
    <!--Paginacion de Resultados-->
    <div class="text-center paginas">
        paginacion
        <a href="?pos=<?php echo $inicio-$cantAvisos?>">Anterior</a>
        <a href="?pos=<?php echo $inicio+$cantAvisos?>">Siguiente</a>
        
        
    </div> <!--Fin Paginacion de Resultados-->

</div><!--Fin Div Contenedor Principal-->
</body>
</html>
Gracias desde ya a todos....

Etiquetas: categorias, fecha, html, registro, select, simple
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 03:38.