Hola Amigos:
Estoy haciendo un buscador. Estoy usando el siguiente código:
Código PHP:
if ($busqueda<>'')
{
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca="SELECT * FROM rugs_carpets WHERE subcategory LIKE '%$busqueda%' OR products LIKE '%$busqueda%' LIMIT 50";
} elseif ($numero>1) {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
//busqueda de frases con mas de una palabra y un algoritmo especializado
$cadbusca="SELECT id, subcategory MATCH (subcategory,products ) AGAINST ('$busqueda') AS Score FROM rugs_carpets WHERE MATCH (subcategory,products) AGAINST ('$busqueda') ORDER BY Score DESC LIMIT 50";
}
$result=mysql_query($cadbusca,$conexion);
while($row=mysql_fetch_object($result)){
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->id;
$titulo=$row->subcategory;
echo $referencia." - ".$titulo."<br>";
}
}
Cuando se busca una palabra si la encuentra, Por ejemplo si digito.
Mochila si funciona. Pero cuando se digita dos o mas palabras a buscar, por ejemplo
Mochila usada sale un error en la Linea 244
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in pag-search.php on line 244
y en la linea 244 esta el siguiente codigo: (código de color azul)
while($row=mysql_fetch_object($result)){
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->id;
$titulo=$row->subcategory;
echo $referencia." - ".$titulo."<br>";
}
}
Me podrian ayudar...no encuentro el problema...Dónde puede estar?
Por si acaso este código lo bajé de la siguiente ruta:
http://www.programacion.com/php/articulo/adr_buscador/
SAludos y gracias de antemano.
Nano.