Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2014, 09:08
cybervandal
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 11 años, 6 meses
Puntos: 3
Busqueda Suma condicional en LIKE?

Hola de nuevo,
me gustaría saber como se hace lo siguiente, otorgarle un valor a los resultados según las coincidencias que haya tenido en la búsqueda.
Conozco el método MATCH AGAINST, pero me interesaría hacerlo con LIKE.

Hasta ahora tengo:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE fecha <='" . $ahora . "' AND (titulo LIKE '%$palabra1%' OR titulo LIKE '%$palabra2%' OR titulo LIKE '%$palabra3%')

Si encuentra cualquiera de las 3 palabras me mostraría el resultado, pero yo lo que quiero es que si por ejemplo un titulo contiene la palabra1 y la palabra2 se muestre en primer lugar por haber tenido mas coincidencias que en otro titulo que solo haya encontrado 1 de las 3 palabras.

Para ello supongo que tendre que introducir alguna suma condicional, algo como SUM(IF(titulo LIKE '%$palabra1%', 1, 0)) o algo asi. Pero debo estar haciéndolo mal pues no consigo hacerlo. Alguien podría ayudarme?

Gracias!

Última edición por gnzsoloyo; 04/01/2014 a las 10:08 Razón: Codigo de programacion no permitido en foros de BBDD