Necesito hacer un formulario de busqueda en una pagina web de zapatos, donde el usuario introduzca por ejemplo: zapatos adidas de hombres, y se muestren los resultados si los hay, si no muestre el mensaje: no se encontraron resultados..
Mi formulario es:
<FORM id="busqueda" action="busqueda.php" method="POST">
<input id="buscar" type="text" name="buscar" size="30">
<input type="submit" value="Buscar" name="Buscar">
</FORM>
Mi archivo busqueda es:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Busquedas</title>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen"/>
<link rel="shortcut icon" href="img/icono.ico">
</head>
<body id="cuerpo">
<div id="superior">
<img id="logo"/>
</div><!--Fin div superior-->
<!----------DIVISION CENTRAL-------------->
<div id="central">
<div">
<h2>Tu Búsqueda</h2>
<?php
require("conexion.php");
$busqueda=$_POST['buscar'];
//Verifico que el campo no este vacio..
if ($busqueda<>''){
//Cuento el numero de palabras ingresadas
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
if ($numero==1) {
$cadbusca="SELECT marca, modelo FROM zapatos WHERE marca LIKE '%$busqueda%' OR modelo LIKE '%$busqueda%' LIMIT 5";
}
else {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
$cadbusca="SELECT marca,modelo, MATCH(marca,modelo) AGAINST ('%".$busqueda."%' IN BOOLEAN MODE) AS score FROM zapatos WHERE MATCH (marca,modelo) AGAINST ('%".$busqueda."%' IN BOOLEAN MODE) ORDER BY score DESC";
}
$result=mysql_query($cadbusca);
if(mysql_num_rows($result)) {
while($row=mysql_fetch_array($result)) {
echo $row[0]." - ".$row[1]."<br>";
}
}
else {//Si no existen resultados
print("No se encontraron resultados.");
}
}
else {
print("Debe escribir una busqueda");
}
?>
</div>
</div><!--Fin div central-->
</body>
</html>
Me hace bien la busqueda cuando escribo una sola palabra, pero cuando introduzco una frase me muestra error la linea: if(mysql_num_rows($result)); entonces supongo que hay un error en la sentencia del SELECT. Cual sera el error por fa??