Puedes realizar dos búsquedas, una con '%SAR%' y almacenarla en el
array $importante[] y luego otra con '% SAR %' y almacenarla en el
array $resto[].

Despues haces una unión de los dos arrays con la instruccion:
$union = array_unique(array_merge($importante[], $resto[]));

En el array $union[] quedarían primero los resultados importantes y
después el resto.

El problema de esta solución es que después no se puede paginar
(creo).


On 29 nov, 17:31, Sergio Villalba <[email protected]> wrote:
> Hola a tod@s,
>
> desde ya Gracias.
>
> Mi pregunta esta relacionada con SQL, lo que quiero es clasificar las
> búsquedas que se realizan en un buscador, pongo un ejemplo:
>
> En mi caso la palabra "SAR" tiene mayor importancia que "SARDINA",
> aunque puede ser valida.....vaya ejemplo :D
>
> Mi consulta SQL actual es:
>
> SELECT * FROM tabla WHERE (contenido like '%SAR%' OR titulo like '%SAR%')
>
> Quiero cambiarla por:
>
> SELECT * FROM tabla WHERE ((contenido like '% SAR %') OR (contenido
> like '%SAR%') OR (titulo like '% SAR %') OR (titulo like '%SAR%'))
>
> Lo que quiero es añadirle una condicionante para clasificar lo
> resultados que para mí son más importantes con la siguiente
> condicionante:
>
> - Si encuentra algo que sea "%espacio SAR espacio%" valor es 1.
> - Si encuentra algo que sea "%SAR%" valor es 2.
>
> Por último, mi consulta la ordenaría por este valor 1 y 2 llamador
> norder y por titulo.
>
> Que tipo de orden puedo utilizar en SQL para realizar lo que
> necesito...mi bbdd es MySQL.
>
> Gracias por todo. Un saludo.

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a