hola estimados, esperando que tengan un buen dia, y no ser inoportuno y abusar de su ayuda con mis preguntas, queria consultarles, con su ayuda logre hacer que mi buscador trabajae, o sea, ingreso un criterio y me filtra bien, o sea funciona, ahora, aparte del buscador necesito ahcer un filtro mas, en este caso, desde un combobox, el cmbobox lo tengo cargado con las categorias desde la bd, selecciono un item del select o combobox, y que me muestre lo relacionado a esto (en este caso es un filtro por categorias), investigue y lei que con ajax se pued ehacer, pero no estoy con tiempo de implementarlo, y las rutinas ajax que tngo no me funcionan tampoco, opte por colocar un boton al lado del combobox y que al hacer click se filtre, pero no esta trabajando, creo que se por donde va el error:
logicamente, al seleccionar el select, deberia traerme la categoria, y al pinchar el boton, esa categoria seleccionada se pase al script que hace el flitro (la consulta sql)
mi codigo hasta ahora:
Funcion que tengo para hacer el filtro
function filtroCategorias(){
//esta variable es la que deberia capurar desde el boton del formulario
$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 la pagina donde est el select (y que tiene el buscador:)
//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>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Plataforma de Avisos Gratuitos.- ChiloeAvisos</title>
<!--<meta name="viewport" content="width=device-width, initial-scale=1">-->
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
<!--Filtrar segun Item Combobox-->
<script>
$(document).ready(function(){
$("#cat").change(function(){
// get the selected user's id
var categoria_aviso = $(this).find(":selected").val();
// load it in the userInfo div above
$('.row').load('avisos.php?categoria_aviso=' + categoria_aviso);
});
});
</script>
</head>
<body>
<!--Contenedor Principal-->
<div class="container">
<div class="row">
<h3 class="text-center">Avisos Publicados</h3>
<p class="text-right alert-info">Tenemos <strong><?php echo $totalavisos; ?> </strong> avisos publicados
en nuestra Base de Datos</p>
</div>
<!--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>
Muchisimas gracias nuevamente por su tiempo y sus comentarios y ayuda...