Tema: buscador
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2014, 13:57
ivan_pala21
 
Fecha de Ingreso: abril-2011
Ubicación: barcelona
Mensajes: 127
Antigüedad: 13 años, 10 meses
Puntos: 2
buscador

hola tengo este script que funciona perfecto al hacer una búsqueda en mi base de datos , solo que tiene un pequeño problema y es que si pongo una palabra en plural no me busca y no se como solucionarlo alguien podría decirme que debo añadirle bueno exactamente solo muestra si pones la palabra exacta yo quiero que me encuentre si coinciden letras en la palabra

por ejemplo: si busco canario me lo encuentra si pongo canarios no me muestra o si añado cualquier letra mas.

alguien sabe como puedo decirle para que me encuentre la palabra aunque añada mas letras a ella.

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. if (!empty($_POST['busqueda'])){
  6. $busqueda=$_POST['busqueda'];
  7. //CUENTA EL NUMERO DE PALABRAS
  8. $trozos=explode(" ",$busqueda);
  9. $numero=count($trozos);
  10. if ($numero==1) {
  11. //SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
  12. $cadbusca="SELECT * FROM productos WHERE nombre LIKE '%$busqueda%' OR raza LIKE '%$busqueda%' OR categoria LIKE '%$busqueda%'LIMIT 50";
  13.  
  14. } elseif ($numero>1) {
  15. //SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
  16. //busqueda de frases con mas de una palabra y un algoritmo especializado
  17. $cadbusca="SELECT *, MATCH ( categoria, raza, nombre )
  18. AGAINST ( '$busqueda' ) AS Score FROM productos WHERE
  19. MATCH ( categoria, raza, nombre ) AGAINST ( '$busqueda'IN
  20. BOOLEAN MODE  ) ORDER BY Score DESC LIMIT 50";
  21. }
  22.  
  23.  
  24.  
  25.  
  26.  
  27. $result=mysql_query($cadbusca) or die (mysql_error());
  28.  
  29. while ( $row = mysql_fetch_object ($result)){
  30. echo $row ->nombre."<br>";
  31. echo $row ->raza."<br>";
  32. echo $row ->categoria."<br>";
  33. }
  34. }
  35. ?>

Última edición por ivan_pala21; 09/03/2014 a las 14:07