Hola a todos, aprovecho de presentarme, mi nombre es nicolas, estoy comenzando en esto de php, pdo, mysql, desarrollo web en general, me han pedido desarrollar un sistema de publicacion de avisos, con mucho trabajo estoy adportas de finalizar, he estado estudiando el curso del amigo Jonathan, y me ha servido mucho, ahora me encuentro con el siguiente inconveniente: tengo que hacer un buscador y un filtro con un select, actualmente obtengo todos los registros sin problemas, tengo el select cargado desde la bd, y tengo una fuincion para buscar, pero la misma me arroja siempre que no hay resultados, cuando lo que busco si existe en la bd.. Tengo este codigo:
Funcion para realizar la busqueda:
function buscarAviso(){
//variables para utilizar en la busqueda
$clave=$_POST['buscar'];
//Query para buscar por cod_aviso,correo_electronico,titulo_aviso,etc
//$query="SELECT * FROM avisos where cod_aviso LIKE '%$clave%' OR correo_electronico LIKE '%$clave%'";
$query="SELECT * FROM avisos WHERE cod_aviso LIKE '%{$clave}%' OR
correo_electronico LIKE '%{$clave}%' OR titulo_aviso LIKE '%{$clave}%'
OR comuna LIKE '%{$clave}%'";
//Preparar la consulta
$stmt=$this->con->prepare($query);
$stmt->bindParam(1,$clave);
echo $query;
//Ejecutar la Consulta
$stmt->execute();
if (!$stmt->rowCount() == 0) {
while ($row=$stmt->fetch()){
$this->datos[]=$row;
}
//Retornamos los Valores
return $this->datos;
}
else {
echo 'Nothing found';
}
/*$count = $stmt->rowCount();
if($count == 0) {
$output = '<tr><tr>No results found.</tr></td>';
} else {
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$titulo_aviso= $row['titulo_aviso'];
$comuna = $row['comuna'];
}
}
//Obtengo el total de filas afectadas por la accion que se realiza
/*$res=$stmt->fetch();
while ($row=$stmt->fetch()){
$this->datos[]=$row;
}
//Retornamos los Valores
return $this->datos;*/
}//funcion Buscar Aviso
y en esta pagina es en la que musetro todos los avisos (funcionando hasta ahora) y donde esta el input para buscar y el select para filtrar
<?php
require_once 'Inc/funciones.php';
require_once 'js/vendor/PDO_Pagination.php';
$aviso= new Avisos();
//Muestro todos los Datos en la pagina
if(isset($_POST['buscar'])){
//Invoco a la funcion buscar
$busca=$aviso->buscarAviso();
}else{
//cargo por defecto los avisos
$avisos=$aviso->listadoAvisos();
$av=$aviso->cargarCombo();
$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>
</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" >
<?php foreach($av as $row) : ?>
<option value="<?php echo $row['id_categoria']; ?>"><?php echo $row['categoria']; ?></option>
<?php endforeach ?>
</select>
</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">
Agradezco a todos desde ya su tiempo y su ayuda...