| |||
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 |
| |||
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 |
| |||
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 |
| |||
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í? |
| |||
Respuesta: Mostrar relacion de registros Pruebate este código que te pongo:
Código:
Te lo he hecho un poco a lo bruto, pero funciona.<% 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 %> 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.... |
Etiquetas: |