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

Mostrar relacion de registros

Estas en el tema de Mostrar relacion de registros en el foro de ASP Clásico en Foros del Web. Hola a todos mi duda es la siguiente: tengo una base de datos en access, tengo un registro de usuarios donde cada usuario tiene su ...
  #1 (permalink)  
Antiguo 19/12/2011, 09:44
 
Fecha de Ingreso: diciembre-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Mostrar relacion de registros

Hola a todos mi duda es la siguiente: tengo una base de datos en access, tengo un registro de usuarios donde cada usuario tiene su perfil, cada usuario tiene un campo llamado tema de investigacion, lo que necesito es mostrar en su perfil los temas de otros usuarios que se relacionen con el suyo, alguien me podria ayudar con esto?, muchas gracias. saludos
  #2 (permalink)  
Antiguo 19/12/2011, 14:13
 
Fecha de Ingreso: agosto-2011
Mensajes: 68
Antigüedad: 13 años, 3 meses
Puntos: 11
Respuesta: Mostrar relacion de registros

Bueno, si no he entendido mal, todo lo tienes en la misma tabla... por qué no haces un select?

stconn="SELECT tema FROM registrousuarios WHERE tema='&session("vartemactiveuser")&'"

Donde la variable de sesión vartemactiveuser, la recuperas de la base de datos cuando un usuario hace login...

No sé si te puede servir lo que te pongo
  #3 (permalink)  
Antiguo 19/12/2011, 14:56
 
Fecha de Ingreso: diciembre-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Mostrar relacion de registros

Lo e intendado asi y necesariamente debe de ser la cadena almacenada en la variable session igual a algun tema, tambien lo intente con un like pero toma todo el tema como una palabra entonces no encuentra relacion con ninguno
  #4 (permalink)  
Antiguo 19/12/2011, 23:26
 
Fecha de Ingreso: agosto-2011
Mensajes: 68
Antigüedad: 13 años, 3 meses
Puntos: 11
Respuesta: Mostrar relacion de registros

A ver, si no he entendido mal, lo que quieres que que relacione cada una de las palabras del tema del usuario activo con el resto de temas... es así?
  #5 (permalink)  
Antiguo 20/12/2011, 00:18
 
Fecha de Ingreso: agosto-2011
Mensajes: 68
Antigüedad: 13 años, 3 meses
Puntos: 11
Respuesta: Mostrar relacion de registros

Pruebate este código que te pongo:

Código:
<%

session("vartemactiveuser")="ciencia"
response.write construyesql&"<BR>"
session("vartemactiveuser")="ciencias aplicadas"
response.write construyesql&"<BR>"
session("vartemactiveuser")="mecanica aplicada a la robotica"
response.write construyesql&"<BR>"


Function construyesql
Dim aux, i, strconn, cadena

cadena=session("vartemactiveuser")
'Si quieres omitir palabas poco significativas como 'a' 'la', etc usa
'replace(cadena,"a","")
'replace(cadena,"la","")

strconn="SELECT tema FROM registrousuarios WHERE "
aux=""

For i=1 to len(cadena)
if mid(cadena,i,1)<>" " then
 aux=aux&mid(cadena,i,1)
Else
 if aux<>"" then
  strconn=strconn&"(tema LIKE '%"&aux&"%') OR "
  aux=""
 End if
End if
Next
strconn=strconn&"(tema LIKE '%"&aux&"%')"

construyesql=strconn

End Function


%>
Te lo he hecho un poco a lo bruto, pero funciona.
La idea es separar cada una de las palabras de un tema e ir construyendo la sentencia SQL con un LIKE de cada una de las palabras.
Él código que te he puesto:

session("vartemactiveuser")="ciencia"
response.write construyesql&"<BR>"
session("vartemactiveuser")="ciencias aplicadas"
response.write construyesql&"<BR>"
session("vartemactiveuser")="mecanica aplicada a la robotica"
response.write construyesql&"<BR>"

Produce el siguiente resultado:

SELECT tema FROM registrousuarios WHERE (tema LIKE '%ciencia%')
SELECT tema FROM registrousuarios WHERE (tema LIKE '%ciencias%') OR (tema LIKE '%aplicadas%')
SELECT tema FROM registrousuarios WHERE (tema LIKE '%mecanica%') OR (tema LIKE '%aplicada%') OR (tema LIKE '%a%') OR (tema LIKE '%la%') OR (tema LIKE '%robotica%')

Con lo que sólo tienes que cargar el resultado de la función en una variable y hacerle un execute.

No sé si te servirá de algo o la he liado más....
  #6 (permalink)  
Antiguo 04/01/2012, 09:34
 
Fecha de Ingreso: diciembre-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Mostrar relacion de registros

Gracias dicuenca si me sirvio, no lo aplique exactamente igual pero me sirvio de referencia gracias.

Etiquetas: registros, relacion
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 13:08.