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

Enlace a pagina asp mediante un link que es id en una tabla

Estas en el tema de Enlace a pagina asp mediante un link que es id en una tabla en el foro de ASP Clásico en Foros del Web. Hola maestros!!! Kiero hacer una pekeña kosilla sencilla pero ke no rekuerdo ni enkuentro komo se hace: Imaginemos ke tenemos una pagina asp ke nos ...
  #1 (permalink)  
Antiguo 31/03/2004, 18:39
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
Enlace a pagina asp mediante un link que es id en una tabla

Hola maestros!!!

Kiero hacer una pekeña kosilla sencilla pero ke no rekuerdo ni enkuentro komo se hace:

Imaginemos ke tenemos una pagina asp ke nos muestra las Id de una tabla y lo ke kiero hacer es ke al pinxar sobre kualkiera de los enlaces me lleve a una web asp en el ke me muestre las karakteristikas ke son los demas kampos de la tabla.

Por ejemplo imaginemos ke tenemos una tabla de libros kon los kampos Titulo, Editorial y Precio.

En la primera pagina asp ponemos los titulos, seria una kosa asi:

<% do while not rslibros.eof %>
<a href="caracteristicas.asp"><% rslibros.fields("Titulo") %></a>
<% rslibros.movenext
loop %>

(Hasta ahi bien salvo lo del href ke kreo ke se ponia caracteristicas.asp?algomas o algo asi jeje)

y la siguiente pagina que es la de caracteristicas pos llevaria:

Titulo: <%response.write(rslibos.fields("Titulo") %>
Editorial: <%response.write(rslibos.fields("Editorial") %>
Precio: <%response.write(rslibros.fields("Precio") %>

por poner un ejemplo...

Asi ke la duda es komo hay ke ponerlo en el href para ke al llegar a la pagina caracteristicas.asp me coja solo los datos del libro en el que he pinxado :)

Seguro ke la respuesta es una linea jeje pero es ke joder, sabia hacerlo y no encuentro los apuntes donde lo tenia y he mirado por ahi y no encuentro nada, muchas gracias!!
__________________
Aupa Athletik!!!
  #2 (permalink)  
Antiguo 31/03/2004, 21:37
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
El Id es un numero unico autoincrementable, (campo autonumerico), no se con que base de datos trabajas, pero si es Acces, en las propiedades del campo, lo asignas como autonumerico...
en todo caso es una referencia de busqueda, con esto te aseguras que encontraras lo que necesitas mostrar...



para crear tu enlace en la primera pagina asp
<%="<font face=Verdana size=1><a href=caracteristicas.asp?id=" &rst.Fields("id")&">&rst("Titulo")&</a></font><br>"%>



Luego en tu segunda pagina asp

<%
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("./tubase.mdb"))


'Asi lo recojes en la pagina que mostrará los datos
sql = "select * FROM tabla1 WHERE id=" & request.querystring ("id") & ""
rst.Open sqltext,cnn,3,3


Y bueno despues ya puedes colocar los datos de tu pagina...

....

Espero te sirva, cualquier cosa, nos avisas...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #3 (permalink)  
Antiguo 01/04/2004, 04:25
 
Fecha de Ingreso: enero-2004
Mensajes: 132
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola

Yo lo he hexo tambien, pero no he tenido q conectar la siguiente pagina a la base de datos. La unica diferencia con lo que tu haces es que mis campos no son autonumericos, si no una cadena de texto, asi que no se si te sera de ayuda.
Bueno, mi enlace es el siguietne, por si te sirve, pero q es mas o menos lo mismo que univercity

<a href="Ficha.asp?tit=<%=rs.Fields("Titulo").Value%> &tip=<%=rs.Fields("Tipo").Value%> target="_blank"> <%=(Server.HTMLEncode(rs.Fields("Titulo").Value))% ></a></td>

En la siguiente pagina recojo las variables tit ,tip...y las imprimo sin ningun problema.

Por cierto, quiero que el enlace se me abra en una ventana secundaria, pero como tengo cosas en vbscript, como puedo hacer para hacerlo en javascript o en vbscript???


Besos
__________________
La prueba mas clara de sabiduria es la alegria continua
  #4 (permalink)  
Antiguo 01/04/2004, 08:21
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
Pues el campo clave principal es texto pero segun lo veo sin komprobarlo me atreveria a decir ke funciona de las dos formas.
Muxisimas gracias a ambos
__________________
Aupa Athletik!!!
  #5 (permalink)  
Antiguo 01/04/2004, 09:15
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
Pues me da error en la segunda pagina...

En la primera he puesto:

<a href=datos.asp?<% Nick=rsnick.Fields("nick") %>><%response.write(rsnick("Nick"))%></a>

y hasta ahi las kosas salen porke los nicks los muestra jeje pero al hacer click en alguno pues se jode. la siguiente pagina tiene:

Set Conexion=Createobject("ADODB.Connection")
Conexion.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;Jet OLEDB:Database Password='esto no lo pongo jeje';DATA SOURCE=" & server.mappath("base.mdb") & ";"
ordensql="Select * from Datos_Usuarios where Nick='" & request.querystring ("Nick") & "'"

set rsnick=conexion.execute(ordensql) <-- linea 14

El error es:
Microsoft JET Database Engine error '80040e10'

No se han especificado valores para algunos de los parámetros requeridos

/datos.asp, line 14
__________________
Aupa Athletik!!!
  #6 (permalink)  
Antiguo 01/04/2004, 09:27
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
Perdon, habia un error en la anterior, queda asi:

<a href=datos.asp?Nick=<% response.write(rsnick.Fields("nick")) %>><%response.write(rsnick("Nick"))%></a>

Pero sigue dando el mismo error
__________________
Aupa Athletik!!!
  #7 (permalink)  
Antiguo 01/04/2004, 09:41
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
joder hoy estoy agilipollado del todo, no os molesteis en intentar resolverlo, la gilipollez tan grande ke existia es ke en la segunda pagina llama a la tabla Datos_Usuarios y la primera a Usuarios de donde saca todos los nicks y resulta ke en Usuarios el campo se llama Nick y en Datos_Usuarios el campo se llama NickD asi que todo solucionao y ya funciona a la perfeccion.

Voy a poner como lo tengo hexo por si algon moderador/a lo quiere llevar a las FAQS

vamos a ponerle un titulo y todo jeje

P: ¿Como puedo mostrar una lista de usuarios y que al hacer click en uno me muestre todos sus datos?

R: Primero necesitaremos una pagina asp donde saquemos todos los usuarios de una tabla de la BD.

<%
Set Conexion=Createobject("ADODB.Connection")
Conexion.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;Jet OLEDB:Database Password='pass';DATA SOURCE=" & server.mappath("base.mdb") & ";"

sql="Select * from usuarios"
set rsusuarios=conexion.execute(sql)
do while not rsusuarios.eof %>
<p align="left">
<font face=Verdana size=3 color="#009900"><a href=datos.asp?Nick=<% response.write(rsusuarios.Fields("nick")) %>><%response.write(rsusuarios("Nick"))%></a></font><br>

<% rsusuarios.movenext
loop
%>

Esto nos mostraria uno a uno todos los nicks de todos los usuarios y al hacer click nos llevara a datos.asp en la que tenemos que tener:

<%
Set Conexion=Createobject("ADODB.Connection")
Conexion.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;Jet OLEDB:Database Password='pass';DATA SOURCE=" & server.mappath("base.mdb") & ";"
ordensql="Select * from Datos_Usuarios where Nick='" & request.querystring ("Nick") & "'"

set rsusuarios=conexion.execute(ordensql)

%>

<p>Nick: <% response.write(rsusuarios.fields(0)) %></p>
<p>Nombre: <% response.write(rsusuarios.fields(1)) %></p>
<p>Apellidos: <% response.write(rsusuarios.fields(2)) %></p>
<p>Edad: <% response.write(rsusuarios.fields(3)) %></p>
<p>Email: <% response.write(rsusuarios.fields(4)) %></p>
<p>Ubicaci&oacute;n: <% response.write(rsusuarios.fields(5)) %></p>

Y asi nos mostraria los datos sencillamente, luego kada kual puede darse su toke pa ke kede bonito porke esto asi es una mierdecilla jeje. Espero que os sirva de ayuda
__________________
Aupa Athletik!!!
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 21:43.