Estoy creando un buscador hacia mi base de datos de noticias deportivas.
Y he conseguido que funcione, pero no exactamente como desearia. Tienes para buscar por palabra y lo complementas con un select donde eliges el deporte.
El formulario de busqueda es así:
Código:
Tenemos el input name= buscar y el select name= seccion<form method="post" action="../busquedas/buscar.php"> <p style="text-align: center"><input name="buscar" type="text" size="15" /></p> <p style="text-align: center"><select name="seccion"> <option value="futbol">Fútbol</option> <option value="futbolsala">Fútbol Sala</option> <option value="ajedrez">Ajedrez</option> <option value="tenis">Tenis</option> <option value="motociclismo">Motor</option> <option value="voley">Voleibol</option> <option value="atletismo">Atletismo</option> <option value="ciclismo">Ciclismo</option> <option value="basket">Basket</option> <option value="natacion">natación</option> <option value="tenisdemesa">Tenis de Mesa</option> <option value="deportes">Más Deporte</option> </select> </p> <p style="text-align: center"><input class="buscadorboton" type="submit" value="Buscar" /></p> </form>
Ahora en el buscar.php:
Código:
<?php $buscar=$HTTP_POST_VARS['buscar']; $seccion=$HTTP_POST_VARS['seccion']; $buscar= trim($buscar); if (!$buscar || !$seccion) { exit; } $buscar = addslashes($buscar); $seccion = addslashes($seccion); @ $db = mysql_connect("localhost", "xxxx", "xxxx"); if (!$db) { echo 'Error de conexión a la base de datos. Vuelva a intentarlo más tarde'; exit; } mysql_select_db("xxxxx"); $query = "SELECT id,titulo,descripcion,file,seccion,DATE_FORMAT(fecha,\"%d/%m/%Y\") as fecha FROM noticias WHERE titulo LIKE '%$buscar%' OR descripcion LIKE '%$buscar%' AND seccion = '%$seccion%' ORDER BY fecha"; $result = mysql_query($query); $num_results = mysql_num_rows($result); ?> echo '<h2>Número de resultados: '.$num_results.'</h2>'; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array($result); echo '<p style="color:#EE3439; text-align:justify; padding:5px 5px 0 5px; font-size:14px; font-weight:bold;">'; ?> <img src="../images/noticias/<?php echo $row['file']; ?>" style="float:left; margin-right:5px; border:2px solid #717370;" width="100" height="100"/> <? echo '('; echo stripslashes($row['fecha']); echo ') '; echo htmlspecialchars(stripslashes($row['titulo'])); echo '</p><p style="color:#747273; text-align:justify; padding:5px;">'; echo stripslashes($row['descripcion']); echo '</p></h1>'; } ?>
El caso es que buscar, busca y encuentra pero pasa tres pueblos del deporte que elijas en el select.
Quiero que como palabra busque en el TITULO o la DESCRIPCION de la base de datos. y del campo SECCION el deporte.
Alguien ve, en que estoy errando?
Es mi primer buscador y estoy contento de que me haya salido pero no veo este fallo.
Gracias!