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

Rescatar y grabar los datos de un checkbox

Estas en el tema de Rescatar y grabar los datos de un checkbox en el foro de ASP Clásico en Foros del Web. Hola de nuevo, alguien me puede decir por favor como grabar en una base de datos los datos de un formulario con checkboxes combos y ...
  #1 (permalink)  
Antiguo 11/03/2008, 05:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Rescatar y grabar los datos de un checkbox

Hola de nuevo, alguien me puede decir por favor como grabar en una base de datos los datos de un formulario con checkboxes combos y radiobutton.

Lo que necesito enviar a la base son datos de un formulario dinamico para realizar encuestas .

1. ENCUESTA (SOLO 1)

2.PREGUNTA (1 O VARIAS)

3 ALTERNATIVAS (1 O VARIAS)

La pagina que estoy diseñando dibuja un formulario para encuestas, una pregunta puede tener una o mas alternativas dependiendo de lo ingresado en la base, los tipos pueden ser checkboxes combos y radiobutton.

Se me esta enredando demasiado este cuento, y no le encuentro la solucion por favor alguien me puede ayudar ???

De antemano
Muchas gracias
  #2 (permalink)  
Antiguo 11/03/2008, 07:20
Avatar de ZeroLino  
Fecha de Ingreso: abril-2007
Mensajes: 91
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Rescatar y grabar los datos de un checkbox

Cita:
Iniciado por MAIKIKY Ver Mensaje
Hola de nuevo, alguien me puede decir por favor como grabar en una base de datos los datos de un formulario con checkboxes combos y radiobutton.

Lo que necesito enviar a la base son datos de un formulario dinamico para realizar encuestas .

1. ENCUESTA (SOLO 1)

2.PREGUNTA (1 O VARIAS)

3 ALTERNATIVAS (1 O VARIAS)

La pagina que estoy diseñando dibuja un formulario para encuestas, una pregunta puede tener una o mas alternativas dependiendo de lo ingresado en la base, los tipos pueden ser checkboxes combos y radiobutton.

Se me esta enredando demasiado este cuento, y no le encuentro la solucion por favor alguien me puede ayudar ???

De antemano
Muchas gracias
si quieres grabar.. puedes usar ACCION, eso te ayudara mucho
si accion == graba1 hara tal cosa
si accion == graba2 hara lo otro
si accion == graba3 hara lo ultimo

despues de cada accion aplicas la consulta.. dependiendo de la BD la cual estas usando

para mas ayuda envia el codigo para poder ayudarte

saludos

ZeroLino
  #3 (permalink)  
Antiguo 11/03/2008, 07:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Rescatar y grabar los datos de un checkbox

Lo que no entiendo es como grabo por ej. si elegi una respuesta a una pregunta y elegi 5 alternativas, debo usar un ciclo for o algo por el estilo ??
Estoy intentando con esto, pero solo me graba una pregunta y una alternativa

<%

cantidad = request.querystring("Cant")


Temp="Select * From respuestas "
Tabla.Open Temp,Conexion,2,3,1

for i = 1 to cantidad

Tabla.AddNew
tabla("Res_Pre_Id") = request.querystring("PreID"&i)
tabla("Res_Alt_id") = request.querystring("AltID"&i)

Tabla.update
next

%>

Favor ayuda !!
Gracias
  #4 (permalink)  
Antiguo 11/03/2008, 07:50
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: Rescatar y grabar los datos de un checkbox

si son checbox todos los de la pregunta 1 tienen que llamarse igual y el value tiene que ser diferente para cada uno

asi cuando tu retraes el valor en tu request vienen todos los seleccionados

chekiados_p1 = request("chekiados_p1")

si seleccionastes, 1, 3, 4, 6 ese seria el valor de tu request


pero si pegas el codigo de el form y comentas lo que deseas guardar con gusto creo se te ayudara mejor

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 11/03/2008, 08:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Rescatar y grabar los datos de un checkbox

Este es el codigo, dibuja bien el formulario, pero hay algo que no estoy haciendo bien, ya que no se como enviar los datos y recibirlos desde el otro lado para guardarlos en la base

CODIGO ASP :

<!--#include file="include/Mconection.asp"-->
<html>
<head>
<title>ENCUESTAS</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="Include/style.css" rel="stylesheet" type="text/css">
</head>

<body></p>
<% QRY = "SELECT * FROM PREGUNTAS order by PRE_ID asc"
Tabla.Open QRY, Conexion

QRY_Cant = "SELECT count(PRE_ID) as cantidad FROM PREGUNTAS "
Tabla3.Open QRY_Cant, Conexion

Dim cantidad
cantidad = Tabla3("cantidad")

for i = 1 to cantidad
PreID = Tabla("Pre_id")%>



</p>
<div align="center"></div>
<form name="form1" method="get" action="graba.asp">
<input name="PreID<%=I%>" type="hidden" value="<%=PreID%>">

<div align="center">
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0" class="imageComment_txt">
<tr>
<td bgcolor="#003366"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">
<% response.write "Pregunta Nro :"& i & " - " %>
<%=tabla("Pre_DESCRIPCION")%> </font></td>
</tr>
</table>
<font size="2" face="Arial, Helvetica, sans-serif"> </font>
<tr>

<td width="47%"><font size="2" face="Arial, Helvetica, sans-serif">
<% Set Conexion2=Server.CreateObject("adodb.connection")
Set Tabla2=Server.CreateObject("adodb.recordset")
Conexion2.Open DBName

QRY2 = "SELECT * FROM ALTERNATIVAS WHERE ALT_PRE_ID = "& TABLA("Pre_Id")&" "
Tabla2.Open QRY2, Conexion2



iCount = 0
iCount2 = 0
Do while not Tabla2.EOF

iCount = iCount + 1%>
<% Alt_ID = Tabla2("Alt_ID") %>
<%aID = Tabla2("Alt_id")%>

<% iCount2 = iCount2 + 1%>


<% If Tabla("Pre_tipo") = 1 then %>
<%QRY_CABEC = "SELECT Cabec_ID, Cabec_Descripcion FROM CABECERA_COMBO WHERE Cabec_Alt_ID = "&aID&" GROUP BY Cabec_ID,Cabec_Descripcion "
REG_2.CursorType = adOpenstatic
REG_2.Open QRY_CABEC, Conexion
While Not REG_2.EOF %>

<%=REG_2("Cabec_Descripcion")%><%=REG_2("Cabec_iD" )%>
<% Cabec_ID = REG_2("Cabec_ID")%>
<select name="Combo<%=iCount2%>" class="stylo_form2">
<option selected>Elija una</option>
<% QRY_COMBO = "SELECT * FROM COMBO_ALT WHERE Com_Alt_Id = "&aID&" and Com_Cabecera_ID = "&Cabec_ID&" "
REG_3.CursorType = adOpenstatic
REG_3.Open QRY_COMBO, Conexion

While Not REG_3.EOF %>
<option value="<%=REG_3("ID_Combo")%>"><%=REG_3("Com_Descr ipcion")%></option>
<% REG_3.MoveNext
Wend
REG_3.Close %>
</select>
<% REG_2.MoveNext
Wend
REG_2.Close %>

<% elseIf Tabla("Pre_tipo") = 2 then %>


<input name="Radio<%=I%>" type="radio" value=<%=aID%>>

<% elseIf Tabla("Pre_tipo") = 3 then %>



<input name="Check<%=iCount%>" type="checkbox" value=<%=aID%>>


<%end if%>

</font></td>
<%=tabla2("Alt_Descripcion")%><%=tabla("Pre_tipo") %>
</font> </div>

<%tabla2.movenext
loop
tabla2.close
set tabla2 = nothing
tabla.movenext
next
tabla.close
set tabla = nothing%>
<input name="cant" type="hidden" id="cant" value="<%=tabla3("cantidad")%>">



<input type="submit" value="Enviar Encuesta">
</form>
</body>
</html>


MUCHAS GRACIAS POR LA AYUDA PRESTADA
  #6 (permalink)  
Antiguo 11/03/2008, 08:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Rescatar y grabar los datos de un checkbox

Cita:
Este es el codigo, dibuja bien el formulario, pero hay algo que no estoy haciendo bien, ya que no se como enviar los datos y recibirlos desde el otro lado para guardarlos en la base
Mediante el botón submit que pusiste se van a mandar a graba.asp, y se reciben con Request.QueryString("NombreDeTuControlDeFormulario"), es es debido a que definiste tu formulario como method="get"

Saludos
  #7 (permalink)  
Antiguo 11/03/2008, 08:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Rescatar y grabar los datos de un checkbox

Eso lo tengo claro, lo que no se , es como recibir los datos desde el otro lado

Ej.

1 Si una pregunta es tipo radiobutton

debe grabar la pregunta y su respuesta (unica)

2 Si una pregunta es tipo checkbox

debe grabar la pregunta y sus respuestas (multiples)


3 Si una pregunta es tipo combobox

debe grabar la pregunta y sus respuestas (multiples)


No se como enviar los datos(darle formato) y recibirlos del otro lado

Se supone que debo indentificar lo que estoy mandando y los que estoy recibiendo, pero ahi me pierdo...

Les pido su ayuda por favor, no he podido salir de estos hace mas de un mes....

Muchas gracias
  #8 (permalink)  
Antiguo 11/03/2008, 08:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Rescatar y grabar los datos de un checkbox

¿un combobox te permite múltiples selecciones? bueno, si le pones el atributo multiple, pero lo conviertes a un listbox desplegable, aunque ya no es su naturaleza, ...... en fin


Pues antes de tirarte código "a lo gorras" necesitas decirnos si ya tienes un modelo de BD para esa metodología, aquello que quieras guardar varias veces ¿a qué va a estar relacionado?, ¿vas a repetir qué datos?, necesitas mostrar tus tablas para saber cómo se puede hacer eso que pretendes.
  #9 (permalink)  
Antiguo 11/03/2008, 08:54
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Rescatar y grabar los datos de un checkbox

Este es el modelo de las tablas

TABLA ENCUESTAS

Enc_Id (Autonumérico)
Enc_Nombre_Encuesta (Texto)

TABLA PREGUNTAS

Pre_Id (Autonumérico)
Pre_Descripcion (Texto)
Pre_Enc_id (Número)
Pre_tipo (Número)

TABLA ALTERNATIVAS

Alt_id (Autonumérico)
Alt_Descripcion (Texto)
Alt_Pre_Id (Número)
Alt_Enc_Id (Número)

Gracias
  #10 (permalink)  
Antiguo 11/03/2008, 09:07
 
Fecha de Ingreso: noviembre-2007
Mensajes: 69
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Rescatar y grabar los datos de un checkbox

Me falto la tabla respuestas

Res_Id (Autonumérico)
Res_Enc_Id (Número)
Res_Pre_Id (Número)
Res_pre_tipo_respuesta (Número)
Res_Alt_id (Número)
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 15:08.