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

encuesta con lista desplegable

Estas en el tema de encuesta con lista desplegable en el foro de ASP Clásico en Foros del Web. wenas!!! Quiero hacer una encuesta y que además haya una lista desplegable en la cual según la opción que se elija el voto vaya a ...
  #1 (permalink)  
Antiguo 27/09/2007, 04:05
 
Fecha de Ingreso: abril-2007
Mensajes: 32
Antigüedad: 18 años
Puntos: 0
encuesta con lista desplegable

wenas!!!
Quiero hacer una encuesta y que además haya una lista desplegable en la cual según la opción que se elija el voto vaya a lo seleccionado en el desplegable. No se si me he explicado bien así que pongo mejor el código:

Cita:
<select name="OPCION" id="OPCION">

<option selected="selected">----</option>

<% strSQLMun = "SELECT I_OPCION, OPCION from OPCION ORDER BY OPCION ASC"

CrearRS dbi,RSMun,strSQLMun,0

While not RSMun.EOF
If OPCION = RSMUN("OPCION") Then

OPCION_selected = "selected"

Else

OPCION_selected = ""

End If%>

<option value="<%=RSMun("I_OPCION")%>" <%=OPCION_selected%>><%=Server.HTMLEncode(RSMun("O PCION"))%></option>

<% RSMun.MoveNext Wend
CerrarObj(RSMun)
%>

</select>
después iría la programación de la encuesta que la he comprobado y sale bien y al final el botón enviar los datos.

Cita:
<p><input class="inputbutton" name="submit" value="Votar" type="submit" /><br />

<input name="e" type="hidden" value="<%=I_ENCUESTA%>" />
<input name="paso" type="hidden" value="1" />
<input name="I_OPCION" type="hidden" value="<%=I_OPCION%>" />
</p>
El problema que tengo es que cuando recoge los datos de lo seleccionado por la lista desplegable al final me añade una ',' así que cualquier comparación para añadirle el voto me da error. ¿Qué función quita el último caracter de una cadena? He estado buscando pero lo que he probado no me ha funcionado.

Tambien he estado buscando algún ejemplo de una encuesta de este tipo con la que me pueda apoyar para hacer la mía pero no he tenido éxito. ¿Alguien conoce algun ejemplo de este tipo de ncuesta?

Le estoy dando vueltas a cómo hacerlo y estoy algo perdido.
  #2 (permalink)  
Antiguo 27/09/2007, 04:58
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: encuesta con lista desplegable

A ver, no entiendo muy bien lo que quieres. En esta sentencia:

If OPCION = RSMUN("OPCION") Then

¿OPCION de donde viene?

¿Para que sirve <input name="I_OPCION" type="hidden" value="<%=I_OPCION%>" />? ¿I_OPCION de donde viene?

Tendras que darnos mas datos o el código mas completo para poder ayudarte...

Por cierto, para quitar el ultimo caracter de una cadena:

cadena = left(cadena, len(cadena)-1)


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 27/09/2007, 05:39
 
Fecha de Ingreso: abril-2007
Mensajes: 32
Antigüedad: 18 años
Puntos: 0
Re: encuesta con lista desplegable

gracias x responder!!! Ahora al poner la función que me has dicho me aparece Verdadero (pero sin la o) cuando antes me aparecía la variable... Seguiré haciendo pruebas a ver.

Voy a intentar explicarlo mejor:

Tengo una lista desplegable que la relleno mediante una sentencia select de una tabla. Después están las opciones de la encuesta y por último el botón Enviar.

Cuando se va a votar en esa encuesta aparte de marcar una casilla u otra también hay que elegir una opción de la lista. Por ejemplo voto Si y elijo de la lista desplegable "Madrid". Después cuando se pulsa Enviar tiene que mostrar los resultados de la encuesta. Por ejemplo, en Madrid Si 80% No 20%, Valencia Si 60% No 40% y así sería con todas las comunidades autónomas en este ejemplo.

Eso es lo que intento hacer, marcar una casilla de la encuesta pero para la opción escogida de la lista.

El código que envía a la página de los resultados de la encuesta es:

Cita:
<input class="inputbutton" name="submit" value="Votar" type="submit" /><br />
<input name="e" type="hidden" value="<%=I_ENCUESTA%>" />
<input name="voto" type="hidden" value="1" />
<input name="I_CIUDAD" type="hidden" value="<%=I_CIUDAD%>" />
El I_CIUDAD que va hidden es la opción escogida en la lista que luego recojo en la página de los resultados de la encuesta (y que al hacer un response.write me muestra el escogido correctamente... pero con una coma al final).

He estado buscando algún ejemplo de una encuesta de este tipo pero no la he encontrado.

Así que el problema que tengo es que no logro sacar los resultados de la encuesta por ciudades. El código donde guarda el voto es este:

Cita:
sSQL = "UPDATE X_ENC_ENC_OP " &_
"SET X_ENC_ENC_OP.VOTOS = X_ENC_ENC_OP.VOTOS+1 " & _
" WHERE I_ENCUESTA=" & e & " AND I_ENCUESTA_OPCION=" & I_ENCUESTA_OPCION & " AND I_CIUDAD=" & I_CIUDAD

CrearRS dbi,rs,sSQL,0
CerrarObj(RS)
Me da error cuando compara el I_CIUDAD (supongo por la coma que me sale al final).

Así que esto es lo que intento hacer pero de momento sin éxito. Si pudieras echarme una mano te lo agradecería
  #4 (permalink)  
Antiguo 27/09/2007, 07:02
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: encuesta con lista desplegable

No se si he captado lo que quieres... Supongamos que tenemos una página con todos los campos de la votación.

votar.asp
Código:
.....
<form action="resultados.asp">
<select name="I_CIUDAD" id="I_CIUDAD">
<option selected="selected">----</option>
<% 
strSQLMun = "SELECT I_OPCION, OPCION from OPCION ORDER BY OPCION ASC"

CrearRS dbi,RSMun,strSQLMun,0

While not RSMun.EOF
      ' Supongo que OPCION viene de la parametrizacion de la página
      If request("OPCION") = RSMUN("OPCION") Then 
               OPCION_selected = " selected"
      Else
               OPCION_selected = ""
      End If
%>

<option value="<%=RSMun("I_OPCION")%>"<%=OPCION_selected%>>
<%=Server.HTMLEncode(RSMun("OPCION"))%>
</option>

<% 		
      RSMun.MoveNext												
Wend 
CerrarObj(RSMun)
%>
</select>
<input type="radio" name="VOTO" value="SI" />
<input type="radio" name="VOTO" value="NO" />

<input name="e" type="hidden" value="<%=I_ENCUESTA%>" />

<input class="inputbutton" name="submit" value="Votar" type="submit" /><br />
</form>
Como ves, prescindo de
<input name="voto" type="hidden" value="1" />
y de
<input name="I_CIUDAD" type="hidden" value="<%=I_CIUDAD%>" />

Luego, en la página resultados.asp

resultados.asp
Código:
' Comprobamos el código con una hipotética funcion
' checkData que limpia de datos malignos las variables
Dim ciudad, tipo_encuesta, respuesta
ciudad = checkData(request.form("I_CIUDAD"))
tipo_encuesta = checkData(request.form("e"))
respuesta = checkData(request.form("VOTO"))

' Comprobamos si existe el registro
sSQL = "SELECT * FROM X_ENC_ENC_OP WHERE I_CIUDAD=" & ciudad _
            " AND I_ENCUESTA = " & tipo_encuesta _
            " AND I_ENCUESTA_OPCION = " & respuesta

CrearRS dbi,rs,sSQL,0

if rs.EOF then ' existe
       sSQL = "UPDATE X_ENC_ENC_OP " & _
                   "SET VOTOS = VOTOS+1 " & _
                   " WHERE I_ENCUESTA=" & tipo_encuesta  & _
                   " AND I_ENCUESTA_OPCION=" &  respuesta & _                             
                   " AND I_CIUDAD=" & ciudad
 else
       sSQL = "INSERT INTO X_ENC_ENC_OP " & _
                   "(VOTOS, I_ENCUESTA, I_ENCUESTA_OPCION, I_CIUDAD)" _
                   " VALUES " _
                   "(1, " & tipo_encuesta & ", " & respuesta & ", " & ciudad & ")"

end if
CerrarObj(RS)

CrearRS dbi,rs,sSQL,0
CerrarObj(RS)

Como ves, si el combobox tiene las ciudades (I_CIUDAD) no hace falta ningun campo mas, el I_ENCUESTA supongo que es una codificación para los tipos de encuestas que haces y los radio button traen ya la respuesta ('SI' o 'NO')

No se si es esto lo que necesitas, pero yo lo veo muy claro. Si me he equivocado en algo, siento no haberte entendido bien



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 28/09/2007, 02:58
 
Fecha de Ingreso: abril-2007
Mensajes: 32
Antigüedad: 18 años
Puntos: 0
Re: encuesta con lista desplegable

muxas gracias!!! Me funcionó bien El problema venía de que no cogía bien el I_CIUDAD entonces me daba error al compararlo en el select.

Lo de checkData me daba error todo el rato, así que al final he puesto Abs(request.form("I_CIUDAD)) y me funcionó.

Ahora solo me falta sacar los resultados por pantalla que espero no liarme,jeje

gracias x todo
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:46.