Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2008, 14:28
Avatar de sidney rees
sidney rees
 
Fecha de Ingreso: julio-2006
Ubicación: Argentina
Mensajes: 334
Antigüedad: 17 años, 10 meses
Puntos: 16
Pregunta Problemas al buscar 2 o más palabras clave (search engine, fulltext, mysql, php)

Hola amigos...

(¡Ya busqué en google! jejeje, antes de que me respondan eso, pero encontré 50000 tutoriales y me los leí todos pero no pude dar con ninguno que resolviera mi problema.)

...estoy haciendo un pequeño search engine en mi sitio pero no logro dar con la solución a un problema de búsqueda que tengo: cuando busco dos o más palabras clave me da error.

Esta es la parte de mi código necesaria para entender como hago mi búsqueda en MySQL (tengo un campo Fulltext)

Cita:
<?PHP
include('./includes/config.php');

$busqueda = $_REQUEST["busqueda"]; /// aquí llega la palabra clave que

$cantidad = 10; //cantidad de resultados por pagina
$inicial = $pagina * $cantidad; /// esto sirve para la paginación de los resultados
$trozos = explode(" ", $busqueda); /// separa las palabras
$numero = count($trozos); /// cuenta la cantidad de palabras

if ($numero==1)
{
$cad = "SELECT * FROM tabla WHERE columna1 LIKE '%$busqueda%' OR columna2 LIKE '%$busqueda%' OR columna3 LIKE '%$busqueda%' AND state='true' LIMIT $inicial, $cantidad";
}
else
{
$cad = "SELECT * MATCH (columna1, columna2, columna3) AGAINST ('$busqueda') AS Score
FROM tabla WHERE MATCH (columna1, columna2, columna3) AGAINST ('$busqueda') AND state='true' LIMIT $inicial, $cantidad ORDER BY Score";
}

$resultados = mysql_query($cad);
Explicación detallada:
Tengo un form en donde puedo escribir la(s) palabra(s) clave, si busco una no tengo problemas pero si busco 2 o mas me da error.

Así que el error se encuentra aquí:
Cita:
SELECT * MATCH (columna1, columna2, columna3) AGAINST ('$busqueda') AS Score
FROM tabla WHERE MATCH (columna1, columna2, columna3) AGAINST ('$busqueda') AND state='true' LIMIT $inicial, $cantidad ORDER BY Score
Espero que esto sea suficiente como para ofrecerme un ayudita (si necesitan el resto del código o la tabla no tengo problemas en subirla -solo que no entra todo en un solo post, por eso no lo hice ahora-)
__________________
¿Tienes problemas para terminar tu proyecto? Nosotros te ayudamos, visitanos en Sidneyrees.com