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

formulario con Registro seleccionado (select)

Estas en el tema de formulario con Registro seleccionado (select) en el foro de ASP Clásico en Foros del Web. Buenas tardes, la verdad que no se que título ponerle a este problema, así que contaré lo qu estoy haciendo. Un pequeño sistema de enlaces, ...
  #1 (permalink)  
Antiguo 16/06/2008, 11:50
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
formulario con Registro seleccionado (select)

Buenas tardes, la verdad que no se que título ponerle a este problema, así que contaré lo qu estoy haciendo.

Un pequeño sistema de enlaces, en el que tengo 2 tablas, :

tabla: Categorias
campo1= cod_cat (autonimerico) (categoría del enlace)
campo2= Categoria (texto)(nombre de la categoría)

tabla: enlaces
campo1=cod_enlace (autonumerico)
campo2=titulo
campo3=cat_enlace (numerico) (categoria del enlace)
campo4=url
campo5=apartado
campo6=descripcion
campo7=activo

Ahora bien, las tablas se poblan correctamente, el problema ocurre en el formulario donde quiero realizar modificaciones, me rescata todos los valores menos uno, que es la categoria, este lo quiero hacer por medio de un select , y es que cuando el formulario se muestre quiero que se muestre la categoría actual seleccionada, y no lo hace, entonces si le doy al botón de modificar, me cambia la categoría por la primera de la lista.



El código es este:
SsQL="Select * from cat_enlaces"
set rs = con.Execute(SsQL) %>


<select name="cod_categoria" size="1" id="cod_categoria">
<%
Do While not rs.eof
strSelected = ""
if rs.Fields("cod_cat") = cod_cat then
strSelected = "selected"
end if
%>
<option value="<%=rs.Fields("cod_cat") %>"><%=rs("categoria")%></option>
<% rs.movenext
Loop %>
</select>

Agradezco de antemano la ayuda!
Gracias
  #2 (permalink)  
Antiguo 16/06/2008, 12:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Hola Cameron_2006,

Prueba con esto, en negritas los cambios:

Código:
if rs.Fields("cod_cat") = cint(cod_cat) then
strSelected = " selected"
else
strSelected = ""
end if
%>
<option value="<%=rs.Fields("cod_cat") %>"<%=strSelected%>><%=rs("categoria")%></option>
<% rs.movenext
Loop %>
</select>
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 16/06/2008, 12:46
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

No me funcionó, lo puse tal cual y nada, le quité el cint y tampoco, así está actualmente:

<select name="cod_categoria" size="1" id="cod_categoria">
<%
Do While not rs.eof
strSelected = ""
if rs.Fields("cod_cat") =cint(cod_cat) then
strSelected = "selected"
else
strSelected = ""
end if
%>
<option value="<%=rs.Fields("cod_cat") %>"<%=strSelected%>><%=rs("categoria")%></option>
<% rs.movenext
Loop %>
</select>
  #4 (permalink)  
Antiguo 16/06/2008, 12:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Puedes pegar la salida HTML de ese select?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 16/06/2008, 13:08
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

ante nada, gracias por la ayuda, es esto lo que dices?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>directorio de enlaces</title>


</head>
<body>

<H3> LISTADO DE TODOS LOS ENLACES </H3>
<hr noshade="noshade" size="1" />

<form name="formi" method="post" action="guardar_enlace.asp">
<input type="hidden" name="cod_enlace" value="<%=cod_enlace%>" >

<table width="100%" border="1">
<tr>
<th width="29%" scope="row"><div align="left">Titulo de la página</div></th>
<td width="71%"><input name="titulo" id="titulo" value="<%=titulo%>" size="70" /></td>
</tr>
<tr>
<th width="29%" scope="row"><div align="left">Enlace URL </div></th>
<td width="71%"><input name="url" id="url" value="<%=url%>" size="70" /></td>
</tr>
<tr>
<th width="29%" scope="row"><div align="left">Descripcion del sitio </div></th>
<td width="71%"><input name="descripcion" id="descripcion" value="<%=descripcion%>" size="70" /></td>
</tr>


<tr>
<th width="29%" scope="row"><div align="left">Apartado donde est&aacute; e-dinero </div></th>
<td width="71%"><input name="apartado" id="apartado" value="<%=apartado%>" size="70" /></td>
</tr>


<tr>
<th width="29%" scope="row"><div align="left">Categoria actual </div></th>
<td width="71%"><input name="categoria_actual" id="categoria_actual" value="<%=categoria_actual%>" size="70" /></td>
</tr>

<tr>
<th width="29%" scope="row"><div align="left">Modificar categor&iacute;a </div></th>
<td width="71%">

<%Set con=Server.CreateObject("ADODB.Connection") 'creo objeto connection
con.open "mibasededatos"
Set rs=Server.CreateObject("ADODB.RecordSet") %>


<%SsQL="Select * from cat_enlaces"
set rs = con.Execute(SsQL) %>





<select name="cod_categoria" size="1" id="cod_categoria">
<%
Do While not rs.eof
strSelected = ""
if rs.Fields("cod_cat") =cint(cod_cat) then
strSelected = "selected"
else
strSelected = ""
end if
%>
<option value="<%=rs.Fields("cod_cat") %>"<%=strSelected%>><%=rs("categoria")%></option>
<% rs.movenext
Loop %>
</select>


</td>
</tr>

<tr>
<th width="29%" scope="row"><div align="left">Activo</div></th>
<td width="71%"> <input name="Activo" type="Checkbox" id="Activo" <%=Activo%> size="70" /></td>
</tr>



<tr>
<td colspan="2" align="center">
<input name="Modificar" type="submit" id="Modificar" value="Modificar" />
<input name="cancelar" type="reset" id="cancelar" value="Cancelar" /> </td>
</tr>
</table>
</form>

<% rs.close
con.close
Set rs=nothing
Set con=nothing %>






</body>
</html>
  #6 (permalink)  
Antiguo 16/06/2008, 13:12
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

estoy usando Access
  #7 (permalink)  
Antiguo 16/06/2008, 13:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

No, solo quiero ver el HTML que genera el loop, el HTML del select.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 16/06/2008, 13:30
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

disculpame, lo tengo en dos etiquetas:

<tr>
<th width="29%" scope="row"><div align="left">Modificar categor&iacute;a </div></th>
<td width="71%">

...

</td>
</tr>
  #9 (permalink)  
Antiguo 16/06/2008, 13:32
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Disculpa tengo el bruto en 90% es eso lo que me pides?
  #10 (permalink)  
Antiguo 16/06/2008, 13:42
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

<form name="formi" method="post" action="guardar_enlace.asp">
<input type="hidden" name="cod_enlace" value="<%=cod_enlace%>" >

<table width="100%" border="1">
<tr>
<th width="29%" scope="row"><div align="left">Modificar categor&iacute;a </div></th>
<td width="71%">

... codigo...
</table>
</form>

<% rs.close
con.close
Set rs=nothing
Set con=nothing %>
  #11 (permalink)  
Antiguo 16/06/2008, 13:45
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Cameron, solo quiero ver el HTML que resulta, click derecho, ver codigo fuente y pega el codigo HTML de ese select.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 16/06/2008, 13:49
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>directorio de enlaces</title>


</head>
<body>

<H3> enlace a modificar </H3>
<hr noshade="noshade" size="1" />

<form name="formi" method="post" action="guardar_enlace.asp">
<input type="hidden" name="cod_enlace" value="4" >

<table width="100%" border="1">
<tr>
<th width="29%" scope="row"><div align="left">Titulo de la página</div></th>
<td width="71%"><input name="titulo" id="titulo" value="Diseño de páginas web" size="70" /></td>
</tr>
<tr>
<th width="29%" scope="row"><div align="left">Enlace URL </div></th>
<td width="71%"><input name="url" id="url" value="http://midominio.com" size="70" /></td>
</tr>
<tr>
<th width="29%" scope="row"><div align="left">Descripcion del sitio </div></th>
<td width="71%"><input name="descripcion" id="descripcion" value="nuevas generaciones" size="70" /></td>
</tr>


<tr>
<th width="29%" scope="row"><div align="left">Apartado donde est&aacute; e-dinero </div></th>
<td width="71%"><input name="apartado" id="apartado" value="en alguna parte" size="70" /></td>
</tr>


<tr>
<th width="29%" scope="row"><div align="left">Categoria actual </div></th>
<td width="71%"><input name="categoria_actual" id="categoria_actual" value="formacion" size="70" /></td>
</tr>

<tr>
<th width="29%" scope="row"><div align="left">Modificar categor&iacute;a </div></th>
<td width="71%">





<select name="cod_categoria" size="1" id="cod_categoria">

<option value="1">arte</option>

<option value="2">asociaciones</option>

<option value="3">blogs</option>

<option value="4">bricolaje</option>

<option value="5">gratis</option>

<option value="6">comunicaciones</option>

<option value="7">deporte</option>

<option value="8">internet</option>

<option value="9">empleo</option>

<option value="10">formacion</option>

<option value="11">foros</option>

<option value="12">hoteles</option>

<option value="13">inmobiliarias</option>

<option value="14">moda</option>

<option value="15">motor</option>

<option value="16">ocio</option>

<option value="17">restaurantes</option>

<option value="18">salud</option>

<option value="19">socideda</option>

<option value="20">turismo</option>

</select>


</td>
</tr>

<tr>
<th width="29%" scope="row"><div align="left">Activo</div></th>
<td width="71%"> <input name="Activo" type="Checkbox" id="Activo" checked size="70" /></td>
</tr>



<tr>
<td colspan="2" align="center">
<input name="Modificar" type="submit" id="Modificar" value="Modificar" />
<input name="cancelar" type="reset" id="cancelar" value="Cancelar" /> </td>
</tr>
</table>
</form>








</body>
</html>
  #13 (permalink)  
Antiguo 16/06/2008, 14:13
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Ok, el problema entonces es en el valor de tu variable cod_cat, no veo donde le asignas el valor, como no tiene valor, es un string vacio, por lo cual nunca toma el valor de "selected" en tu if, verifica el valor de esta variable.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 16/06/2008, 18:23
Avatar de zalvatore  
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

A ver si entiendo tu problema... lo que queres modificar son "Enlaces" no?
Digamos que tienes una lista con los enlaces y clickendo en cada uno puedes modificar los datos pasandole su id
ej>
modenlace.asp?cod_enlace=14

Si esto es asi... en tu pagina modenlace deberias hacer 2 consultas.
1) para sacar los datos de ese enlace como asi tmabien el codigo de la categoria a la q corresponde.

rsEnlaces

SELECT * FROM enlaces WHERE cod_enlace = "& Request.QueryString("cod_enlace") &""

2) y la otra consulta para traer todas las categorias

rsCategorias

SELECT * FROM Categorias ORDER BY Categoria

Ahora "llenas" los inputs con la primera consulta y en el dropdown haces lo siguiente:

<select name="cod_categorias">
<% While NOT rsCategorias.EOF %>

<option <% If rsCategorias("cod_categoria") = rsEnlaces("cat_enlace") Then %>selected<%End If%> id="<%=rsCategorias("cod_categoria")%>"><%=rsCateg orias("Categoria")%></option>

<% rsCategorias.MoveNext()
Wend %>
</select>

Bueno, espero que se entiende la logica... eso deberia andar, chequea nomas bien los nombres de las trablas y los campos que quiza le pifie a alguno, pero la logica se entiende...
Saludos y cualquier cosa avisame!

Matias
  #15 (permalink)  
Antiguo 17/06/2008, 01:46
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Gracias Zalvatore, pero no es eso lo que quiero, así solo me trae el correspondiente al enlace y no se despliega la lista, que eso ya lo hace perfecto, lo que quiero es que además se despliegue la lista de opciones, o sea, que en la lista me venga marcado la categoría de ese enlace.
  #16 (permalink)  
Antiguo 17/06/2008, 02:23
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Gracias u_goldman, ya funciona perfectamente.
  #17 (permalink)  
Antiguo 17/06/2008, 08:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Ok, pero al final, que fue?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 17/06/2008, 08:35
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Lo que tu decías, la variable no estaba declarada ni le había dado un valor. Gracias otra vez.
  #19 (permalink)  
Antiguo 17/06/2008, 09:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: formulario con Registro seleccionado (select)

Ah, ok, gracias por aclararlo y por nadas
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #20 (permalink)  
Antiguo 17/06/2008, 09:01
Avatar de zalvatore  
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Hola Cameron, primero que nada me alegro que ya lo hayas solucionado, pero igualmente de la forma que yo te dije ademas de quedar seleccionado la categoria correspondiente, te las lista todas:

<% While NOT rsCategorias.EOF %>

<option <% If rsCategorias("cod_categoria") = rsEnlaces("cat_enlace") Then %>selected<%End If%> id="<%=rsCategorias("cod_categoria")%>"><%=rsCate g orias("Categoria")%></option>

<% rsCategorias.MoveNext()
Wend %>

Hago un loop con todas las categorias y si el id coincide con el del enlace actual la pongo en selected...

Bueno, da igual, pero queria mostrarte que estaba bien esta opcion para que la tengas en cuenta, que quiza es mas simple Saludos!

Matias
  #21 (permalink)  
Antiguo 17/06/2008, 09:16
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Gracias Matías, te comento que lo probé pero me resultó lo que te dije, que selecciona la categoría correspondiente pero no lista el resto de las categorías, igual puede ser porque no estaba la variable declarada? de todas maneras, lo volveré a probar así a ver que tal.
Gracias por la ayuda, eres muy amable.
Gracias
  #22 (permalink)  
Antiguo 17/06/2008, 10:09
Avatar de zalvatore  
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: formulario con Registro seleccionado (select)

Claro, fijate que tenes 2 consultas, en una traes los datos de ese Enlace especifico y en la otra traes una lista con TODAS las categorias... esta ultima la usas para llenar el dropdown... loopeas options por cada Categoria y lo unico que haces es condicionar el "selected"... Si el IdCategoria del option es igual al de tu Enlace entonces que devuelva selected... sino, solamente el option....

Saludos!
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 10:26.