Foros del Web » Programando para Internet » PHP »

buscador con dos condiciones

Estas en el tema de buscador con dos condiciones en el foro de PHP en Foros del Web. Hola un saludo a todos... Tengo una duda y no se por donde empezar el caso es que quiero realizar un buscador que pueda procesar ...
  #1 (permalink)  
Antiguo 16/09/2003, 19:51
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
buscador con dos condiciones

Hola un saludo a todos...

Tengo una duda y no se por donde empezar

el caso es que quiero realizar un buscador que pueda procesar dos clausulas del tipo WERE, es decir que mediante un texbox de un formulario se escriba cosas como "noche fria" y que en el archivo "buscador.php" la sentencia SQL sea del tipo

sql= Select...... Were titulo LIKE %noche% AND %fria%

es decir que me muestre los dos resultados que incluyan las dos clausulas

Lo que no se es como hacerle para que los caracteres escritos del textbox me los divida por palabras y no como la tome como una...

Ademas quiero saber si estoy bien en mis nociones sobre como se hace esto

GRACIAS
  #2 (permalink)  
Antiguo 16/09/2003, 21:02
 
Fecha de Ingreso: septiembre-2003
Mensajes: 4
Antigüedad: 20 años, 7 meses
Puntos: 0
Para empezar, el comando LIKE de por sí ya te debería devolver todas las posibles coincidencias, en este caso sería: noche, fria y noche fria. No hace falta "cortar" para posibles salidas, pero te dejo aquí un ejemplo de como hacerlo de todas maneras.

Usa la función explode del php para separar las palabras que fueron introducidas en el textbox:

$textbox = "noche fria";
$variable = explode (" ", $textbox);
el primer parámetro es el "caracter común" de la cual va a cortarse la cadena, en este caso es el " " (vacío). podría haber sido por ejemplo un guión"-", una coma ",", etc.
dado que te devuelve un array, tienes que especificar ahora los valores de dicho array para hacer las respectivas consultas. El valor devuelto es:

$variable[0]=noche
$variable[1]=fria

lo demas ya es historia conocida(me refiero a construir los SQL's)


Suerte

Última edición por jarry; 16/09/2003 a las 21:09
  #3 (permalink)  
Antiguo 16/09/2003, 21:21
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 3 meses
Puntos: 0
Cita:
sql= Select...... Were titulo LIKE %noche% AND %fria%
Cuidado con las cláusulas, debería decir WHERE
  #4 (permalink)  
Antiguo 16/09/2003, 23:51
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
lo de la clausula WHERE fue un error de dedo

Sobre lo demas, es que estoy haciendo un buscador avanzado, en el que dentro del textbox se puede escribir algo como lo siguiente:

"noche fria nosotros"

y que por ejemplo tenemos una obra que se llame: "todos nosotros en la noche mas fria"

el caso es que dentro del buscador si ingreso
$cadena="noche fria todos"
dentro del esquema
sql= Select.... WHERE titulo Like %$cadena%
no encuetra coincidencia alguna

Tratare por el metodo propuesto por jarry, y agradesco por sus contestaciones
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 01:32.