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

Ayuda: campos url BD con asp

Estas en el tema de Ayuda: campos url BD con asp en el foro de ASP Clásico en Foros del Web. Hola: Disculpad mi ignoracia pues acabo de empezar con esto de asp busco donde está el error. El tema es que tengo una sencilla BD ...
  #1 (permalink)  
Antiguo 15/12/2004, 15:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 25
Antigüedad: 20 años, 4 meses
Puntos: 0
Ayuda: campos url BD con asp

Hola:

Disculpad mi ignoracia pues acabo de empezar con esto de asp busco donde está el error.

El tema es que tengo una sencilla BD en Access y uno de los campos es para url, el caso es que visualizado la BD en Access si me llevan a los vínculos, pero cuando subo la pagina asp y la BD, NO me salen los vinculos, solo la href con signos #. ¿Como puedo hacer para que la columna de esos hipervinculos, pues lleven a sus distintas urls.

Este es el codigo de prueba.asp:

<html>

<head><title>Listado de registros</title></head>

<%SQLtxt = "SELECT Nombre, Email, Url FROM Ejemplo "%>
<body>
<%set rs = CreateObject("ADODB.Recordset")
rs.Open SQLtxt, "DSN=midns"
%>


<center>
<table border="0" width="32%" bgcolor="#C0C0C0">
<tr>
<td width="100%">
<p align="center"><b><big>Listado de registros</big></b></td>
</tr>
</table>
<h3></center>
<br>
</h3>
<table BORDER="2" CELLSPACING="0" BORDERCOLOR="#008080"
CELLPADDING="0" width="100%" id="table2" style="border-collapse: collapse">
<tr>
<td BGCOLOR="#008080" bordercolor="#008080" width="236">
<b><font face="Verdana" size="1" color="#FFFFFF">Nombre</font></b></td>
<td BGCOLOR="#008080" bordercolor="#008080">
<b><font face="Verdana" size="1" color="#FFFFFF">Email</font></b></td>
<td BGCOLOR="#008080" align="right" bordercolor="#008080">
<b><font face="Verdana" size="1" color="#FFFFFF">Web</font></b></td>
</tr>


<%
Do While NOT rs.EOF%>

<tr>
<td bordercolor="#008080" width="236"><font face="Verdana" size="1" color="#008080"><%= rs("Nombre")%></font></td>
<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><%= rs("Email")%></font></td>
<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><%= rs("Url")%></font></td>


</tr>

<% rs.MoveNext
Loop
rs.Close
%>


</table>
<p>&nbsp;</p>
<table border="1" width="100%" id="table1">
<tr>
<td bgcolor="#00FFFF">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</body></html>

Muchas gracias.
  #2 (permalink)  
Antiguo 15/12/2004, 16:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 22 años, 6 meses
Puntos: 1
hola!
estoy intentando entender qué quieres hacer, pero no me aclaro... puedes explicar más detalladamente lo que quieres?
  #3 (permalink)  
Antiguo 15/12/2004, 17:22
 
Fecha de Ingreso: diciembre-2004
Mensajes: 25
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias por atender esta consulta:
Tengo una BD Access de prueba con tres campos: Nombre, Email, Url.
El campo Url esta configurado en Access como Url, es decir,solo admite urls.
Pues bien, con Access abierto (en local), la columna Url muestra el listado de vinculos y funcionan los enlaces (se abren los vinculos en otra ventana).

El problema es. una vez subida esa base de datos a la red en internet y accediendo a través de la pagina asp, pues los registros de la columna de urls no cumplen su funcion de hipervinculos, solo sale texto normal: se me visualiza en el navegador (por ejemplo), este registro: Google#http://www.google.com/# y yo querría que saliera esto: Google

Nota: en este post lo que está en negrita sale como hipervinculo, pero no se como poner para que no salga así y lo interpretes o lo veas como que no está el hipervinculo.

Muchas gracias por la molestia.

Última edición por hclass; 15/12/2004 a las 17:34
  #4 (permalink)  
Antiguo 15/12/2004, 17:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
pues porque el campo hipervínculo de access sólo lo comprende access como tal... para una aplicación externa que acceda a la base de datos, será un simple texto.

Si podés, guardá los enlaces en un campo de texto normal y luego creás el enlace así:


...
<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><a href="<%= rs("Url")%>"><%= rs("Url")%></a></font></td>
...


Igual, se me ocurre que dejándolo tal cual lo tenés ahora a ese campo y "jugando" un poco con un array en el código lo podrías slucionar de ésta manera:


...
arrURL = Split(rs("Url"), "#")
<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><a href="<%= arrURL(1) %>"><%= arrURL(0) %></a></font></td>
...


salñudos
__________________
...___...
  #5 (permalink)  
Antiguo 15/12/2004, 17:48
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
por cierto, para que en éste foro las direcciones no se conviertan en enlaces automáticamente, tenés que ir a la "respuesta avanzada" (no en la "respuesta rá`pida") y luego de escribir el mensaje (o antes, o durante... ¿por qué no? ) desmarcás la casilla que dice "Convertir urls automáticamente en enlaces"
__________________
...___...
  #6 (permalink)  
Antiguo 16/12/2004, 15:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 25
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola de nuevo:

De la primera forma funciona correctamente, pongo el código por si es útil para alguien:

<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><a href="<%= rs("Url")%>"><%= rs("Url")%></a></font></td>


Si queremos que se abra en nueva ventana, pues esto:

<td bordercolor="#008080"><font face="Verdana" size="1" color="#008080"><a target="_blank" a href="<%= rs("Url")%>"><%= rs("Url")%
></a></font></td>

Muy agradecido por vuestro interes. Gracias.
  #7 (permalink)  
Antiguo 16/12/2004, 20:51
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Hola hclass.

Quería preguntarte si de la primera forma, que funciona correctamente según nos comentás, hiciste algún cambio en el tipo de datos del campo o si lo dejaste tal cual lo tenías (hipervinculo)

Saludos y gracias por lo del "_blank" ;)
__________________
...___...
  #8 (permalink)  
Antiguo 17/12/2004, 03:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 25
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola:

Se me olvidó comentarlo. Si, efectivamente, en la base de datos de Access, en los registros del campo url, se modificó la propiedad "url" del campo, por la de "texto" normal.

El problema es que se me visualiza en la columa del campo url los registros con el el texto http://www.dominio.com y su correspondiente hipervínculo, y lo ideal sería que en el navegador se visualizara "dominio" con el hipervículo apuntando a dicha dirección; es por simple estética.

Y no se como hacerlo, de html casi lo que quieras, de asp y VB estoy "recien pario".

Gracias. Un saludo.
  #9 (permalink)  
Antiguo 17/12/2004, 11:44
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Mmm.. si, entiendo. Y ahora la única que se me ocurre es que guardes las direcciones con algún delimitador... digamos, "google|http://www.google.com/" (sin las comillas) y luego uses el segundo método de mi primer mensaje:


arrURL = Split(rs("Url"), "|")
<a href="<%= arrURL(1) %>"><%= arrURL(0) %></a>
__________________
...___...
  #10 (permalink)  
Antiguo 17/12/2004, 13:01
 
Fecha de Ingreso: diciembre-2004
Mensajes: 25
Antigüedad: 20 años, 4 meses
Puntos: 0
Per fec to:

Como has comentado, con el segundo método va ok.

Este es el código de la tabla en html con nueva ventana, por si le sirve a alguien:

<tr>
<td bordercolor="#008080" width="236"><font face="Verdana" size="1" color="#008080"><%= rs("Nombre")%></font></td>

<td bordercolor="#008080" width="236"><font face="Verdana" size="1" color="#008080"><%= rs("Email")%></font></td>

<td bordercolor="#008080" width="236"><font face="Verdana" size="1" color="#008080"><%arrURL = Split(rs("Url"), "|")%><a target="_blank" a href="<%= arrURL(1) %>"><%= arrURL(0) %></font></td>
</tr>

Hay que tener en cuenta que tienen que estar todos los registros del campo "url" de la base de datos llenos y, todos con xxxx|http://www.dominio.com pues me daba error 800 y pico.

Sinceramente agradecido por tu ayuda y molestia, espero que tu aporte ayude a más personas, en este "problemón" para mi.

Última edición por hclass; 17/12/2004 a las 13:03
  #11 (permalink)  
Antiguo 17/12/2004, 14:49
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Hay que tener en cuenta que tienen que estar todos los registros del campo "url" de la base de datos llenos y, todos con xxxx|http://www.dominio.com pues me daba error 800 y pico
Bueno, solucionemos estas dos posibilidades ;)


Código:
<%
varUrl = Trim(rs("Url"))

If varUrl <> "" Then 'verifico que no esté vacío el campo
' vacío no está, pero no garantiza que el campo contenga "blablabla" :p
If InStr(varUrl, "|") <> 0 Then 'verifico que al menos exista el delimitador
'el delimitador existe, así que usamos el segundo método:
arrURL = Split(rs("Url"), "|")
%>
<a href="<%= arrURL(1) %>"><%= arrURL(0) %></a>
<%
Else
' no existe el delimitador, entonces usamos el primero:
%>
<a href="<% = varUrl %>"><% = varUrl %></a>
<%
End if
Else
' el campo estaba vacío
Response.Write "Enlace no disponible"
End if
%>

Saludos y salud
__________________
...___...
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 11:44.