Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

sobre relevancia...

Estas en el tema de sobre relevancia... en el foro de Bases de Datos General en Foros del Web. Estoy con un temita de un buscador para un directorio. En base a un artículo que he visto quiero hacer lo siguiente... _________________________________________________ mysql> select ...
  #1 (permalink)  
Antiguo 05/02/2003, 01:39
 
Fecha de Ingreso: diciembre-2002
Ubicación: Casa
Mensajes: 41
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta sobre relevancia...

Estoy con un temita de un buscador para un directorio.
En base a un artículo que he visto quiero hacer lo siguiente...

_________________________________________________

mysql> select
if (campo1 like '%palabraClave%', 1, 0) +
if (campo2 like '%palabraClave%' ,1 ,0)
as relevancia,
idRegistro
from
tabla
where
campo1 like '%palabraClave%' or campo2 like '%palabraClave%'
order by relevancia desc;

_________________________________________________

Pero traducido a PHP creo que seria todo largo, osea...

$result = sql_query("SELECT if (campo1 like '%$palabraclave%', 1, 0) + if (campo2 like '%$palabraclave%' ,1 ,0) as relevancia, demascampos FROM tabla WHERE campo1 LIKE '%$palabraclave%' OR campo2 LIKE '%$palabraclave%' ORDER BY relevancia desc", $conecta);

Bueno sería mas o menos asi, en lo que no estoy seguro es que significa idRegistro pero lo reemplace por los demas campos que tengo que seleccionar. Ahora se preguntarán cuál es el problema.

Bueno pude realizar esta operación (hice el while, mostro los datos) pero.... los datos aparecieron todos desorganizados en la pagina, ademas no logro recuperar el primer campo luego de los if... as relevancia,...

Bueno debe sonar algo confuso pero lo que necesito saber es qué está mal en este código o que me digan qué necesitan saber para ayudarme.

Espero puedan ayudarme, Saludos.
__________________
Nach!
  #2 (permalink)  
Antiguo 05/02/2003, 05:37
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola, como he dicho antes no se nada de mysql, pero esta es una sentencia sql, eso si se,}

select
if (campo1 like '%palabraClave%', 1, 0) +
if (campo2 like '%palabraClave%' ,1 ,0)
as relevancia,
idRegistro
from
tabla
where
campo1 like '%palabraClave%' or campo2 like '%palabraClave%'
order by relevancia desc;

Para mi gusto lo haria asi:

select
(campo1||campo2) as relevancia,
idRegistro
from
tabla
where
(campo1 like '%palabraClave%' or campo2 like '%palabraClave%')
order by relevancia desc;


Ahora para que ocupas los if en un select?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:10.