Hola a todos!, estoy teniendo un problema con mi buscador interno en php y mysql.
Me dijeron que sería mejor publicar el problema que tengo en esta sección.
Lo que intento hacer es que al buscar una palabra o frase, los resultados se ordenen por el lugar donde se encuentre dicha frase o palabra. Quisiera que primero aparezcan los resultados que tengan la palabra en el título, luego los que tengan la palabra en la descripción y por último el que tenga la palabra en las keywords.
Estuve intentando con order by, pero no logro ordenarlos como quiero, algo debo estar haciendo mal, les dejo el código:
Código PHP:
// verificar que se haya enviado una consulta
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
$frase = htmlspecialchars($_GET['frase']);
// hacer la consulta
$sssql = mysql_query("SELECT webTitulo, webDescripcion, weburl,
MATCH (webTitulo, webDescripcion, weburl, webkeywords)
AGAINST ('$frase' IN BOOLEAN MODE)
FROM webs
WHERE MATCH (webTitulo, webDescripcion, webkeywords)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY webkeywords DESC, webTitulo ASC ", $server_link)
or die(mysql_error());
$sqlBuscar = mysql_query("SELECT webTitulo, webDescripcion, weburl,
MATCH (webTitulo, webDescripcion, weburl, webkeywords)
AGAINST ('$frase' IN BOOLEAN MODE)
FROM webs
WHERE MATCH (webTitulo, webDescripcion, webkeywords)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY webkeywords DESC, webTitulo ASC
LIMIT $inicio, $TAMANO_PAGINA ", $server_link)
or die(mysql_error());
Resumiendo:
Los resultados deberían aparecer así:
1º Los que tengan la palabra buscada en el título
2º Los que tengan la palabra buscada en la descripción.
3º Los que tengan la palabra buscada en las keywords.
Saludos y gracias!!!