Foros del Web » Programando para Internet » ASP Clásico »

consulta sobre buscador

Estas en el tema de consulta sobre buscador en el foro de ASP Clásico en Foros del Web. Tengo un buscador que busca articulos en mi sitio, el tema es que busca de a una palabra, si yo quisiera que buscara de más ...
  #1 (permalink)  
Antiguo 06/08/2003, 15:06
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
consulta sobre buscador

Tengo un buscador que busca articulos en mi sitio, el tema es que busca de a una palabra, si yo quisiera que buscara de más de una palabra por ejemplo que busque "neumonia atipica" , que tendria que modificarle o como tendria que definir las palabras claves en la base de datos ? . alguien me puede dar una pista
  #2 (permalink)  
Antiguo 07/08/2003, 02:13
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
metes la cadena en un array separado por espacios y luego compones un where con las subcadenas.

Código:
cadena="neumonia atipica"
miarray=split(cadena, " ")

strWhere = " WHERE  FALSE "
for i = 0 to Ubound(miarray) - 1
      strWhere = strWhere & " OR TEXTO LIKE '%" miarray(i) & "%'"
next

strSQL = "SELECT * FROM TABLA " & strWhere
El "Where False" lo uso para no tener que mirar si lleva OR o no en cada iteracion, pero no le des mas importancia. Si la cadena se compusiera con AND, seria Where True.
  #3 (permalink)  
Antiguo 07/08/2003, 05:37
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 21 años, 10 meses
Puntos: 0
Dsisculpame muchisimas gracias ante todo por tu ayuda mira mi código es este :

<%

Dim Conexion,Tabla
Set Conexion=Server.CreateObject("adodb.connection")
Set Tabla=Server.CreateObject("adodb.recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("base.mdb")

Dim Temp

Temp="Select * From Tabla1 Where UCase(pal) like '%" & UCase(Request("palabra")) & "%'"

Tabla.Open Temp, Conexion
If Tabla.BOF And Tabla.EOF Then
%>

tengo todo el codigo armado y tengo miedo de meter la pata como pondrias lo que me dices dentro de este codigo ?
  #4 (permalink)  
Antiguo 07/08/2003, 06:01
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
Seria así

Código:
<% 

Dim Conexion,Tabla 
Set Conexion=Server.CreateObject("adodb.connection") 
Set Tabla=Server.CreateObject("adodb.recordset") 
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("base.mdb") 

Dim Temp

miarray=split(Request("palabra"), " ")

strWhere = " WHERE  FALSE "
for i = 0 to Ubound(miarray) - 1
      strWhere = strWhere & " OR UCase(pal) LIKE '%" miarray(i) & "%'"
next

Temp = "SELECT * FROM TABLA1 " & strWhere

Tabla.Open Temp, Conexion 
If Tabla.BOF And Tabla.EOF Then 
%>
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 23:21.