Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2005, 19:52
Avatar de El_Metallick
El_Metallick
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
problemas al editar un campo previamente seleccionado con un radio

Hola amigos... les cuento tengo un codigo en el cual hago una lista de una tabla con un boton radio de un formulario para seleccionar alguno y editarlo... tengo estos códigos

form_editar.asp
Código:
<% @Language="VBscript" %>
<html>
<head>
<title>Modificar registros de la base de datos</title>
</head>
<body>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Select * From clientes"
'Ejecución de la orden
Set rs = Conn.Execute(sql)
%>
<form method="post" action="editar.asp?id=<% = rs("id") %>" target="_blank">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">ID</td>
<td width="20%">NOMBRE</td>
<td width="20%">APELLIDO</td>
<td width="20%">TELEFONO</td>
<td width="20%">CIUDAD</td>
</tr>
<% Do While Not rs.Eof %>
<tr>
<td width="20%"><input type="radio" name="id" value="<% = rs("id") %>"></td>
<td width="20%"><% = rs("nombre") %></td>
<td width="20%"><% = rs("apellido") %></td>
<td width="20%"><% = rs("telefono") %></td>
<td width="20%"><% = rs("ciudad") %></td>
</tr>
<% 
rs.MoveNext 
Loop
%>
</table>
<input type=submit>
</form>
</body>
</html>
editar.asp
Código:
<title>Modificar registros de la base de datos</title>
</head>
<body>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Recuperando el valor de id pasado por la URL
id = Request.Querystring("id")
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Select * From clientes Where id = " & id &""
'Ejecución de la orden
Set rs = Conn.Execute(sql)
'Asignando valores de campos
nombre = rs("nombre")
apellido = rs("apellido")
telefono = rs("telefono")
ciudad = rs("ciudad")
%>
<form method="post" action="editar1.asp?id=<% = id %>">
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="8%">id:</td>
<td width="92%"><% = id %></td>
</tr>
<tr>
<td width="8%">Nombre:</td>
<td width="92%"><input type="text" name="nombre" size="20" value="<% = nombre %>"></td>
</tr>
<tr>
<td width="8%">Apellido:</td>
<td width="92%"><input type="text" name="apellido" size="20" value="<% = apellido %>"></td>
</tr>
<tr>
<td width="8%">Telefono:</td>
<td width="92%"><input type="text" name="telefono" size="20" value="<% = telefono %>"></td>
</tr>
<tr>
<td width="8%">Ciudad:</td>
<td width="92%"><input type="text" name="ciudad" size="20" value="<% = ciudad %>"></td>
</tr>
</table>
<p align="center"><input type="submit" value="Enviar"><input type="reset" value="Restablecer"></p>
</form>
</body>
</html>
editar1.asp
Código:
<script>
window.opener.location.reload();
window.close();
</script>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Recuperando el valor de id pasado por la URL
id = Request.Querystring("id")
'Recuperando valores del formulario
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")
telefono = Request.Form("telefono")
ciudad = Request.Form("ciudad")
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Update clientes set nombre = '" & nombre & "', apellido = '" & apellido & "', telefono = " & telefono & ", ciudad = '" & ciudad & "' Where id = " & id & ""
'Ejecución de la orden
Set rs = Conn.Execute(sql)
%>
Bueno el problema es que cuando selecciono un elemento de la lista que no sea el primero en editar.asp me aparece siempre el formulario con los valores del primer registro y no se porque no me pillo mi error... si alguien me pudiera corregir... le agradeceria.... gracias de antemano y saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!