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

Si no hay respuesta, ¿qué escribo?

Estas en el tema de Si no hay respuesta, ¿qué escribo? en el foro de ASP Clásico en Foros del Web. Estimados amigos: Quizá me podáis echar una mano; necesito saber qué debo incluir para que en caso de que el encuestado no responda a la ...
  #1 (permalink)  
Antiguo 05/06/2003, 08:09
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Si no hay respuesta, ¿qué escribo?

Estimados amigos:

Quizá me podáis echar una mano; necesito saber qué debo incluir para que en caso de que el encuestado no responda a la pregunta, dé un mensaje de "No ha respondido a la pregunta". Lo he intentado -¡lo juro! -, pero no me sale; llevo tres sesiones en un curso y esto no me sale.

Un saludo,

Emajesus

::::::::::::::::::::::::::::

ABRO CONEXIÓN

<%

i = request.form(RS("Question"))

response.write("<p class='Ques'>" & RS("Question") & "</p>")
response.write("<p class='Ans'>La respuesta correcta:" & RS("Valor") & "")

if (i= RS("Valor")) Then

response.write(" <p class='CorExpl'>¡CORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")

else

response.write(" <p class='IncExpl'>¡INCORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")

end if

RS.MoveNext
Loop

RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing

%>
  #2 (permalink)  
Antiguo 05/06/2003, 09:03
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
<%

i = request.form(RS("Question"))

if i = "" then

response.write "No contesto a la pregunta"
else


response.write("<p class='Ques'>" & RS("Question") & "</p>")
response.write("<p class='Ans'>La respuesta correcta:" & RS("Valor") & "")

if (i= RS("Valor")) Then

response.write(" <p class='CorExpl'>¡CORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")

else

response.write(" <p class='IncExpl'>¡INCORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")

end if
end if
RS.MoveNext
Loop

RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing

%>

Última edición por Helbira; 05/06/2003 a las 09:43
  #3 (permalink)  
Antiguo 05/06/2003, 09:36
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Hola,

Y si no hay ninguna respuesta, ¿cómo indicar que no despliegue nada salvo "No ha contestado a ninguna pregunta"? Es que si no, podrán ver las respuestas sin participar en la actividad.

O bien, que respuestas.asp no se pueda ver sin haber pasado por preguntas.asp.

Gracias por tu ayuda,

Emajesus
  #4 (permalink)  
Antiguo 05/06/2003, 09:48
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
El if mas externo se encarga de que no se muestre la respuesta en caso de que no responda.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #5 (permalink)  
Antiguo 05/06/2003, 16:02
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Muchísimas gracias; ha funcionado genial

No obstante, a ver si me puedes decir cómo incluir el siguiente código que me puntúe el test para mis alumnos. Sé que debe recorrer la tabla, pero no consigo incluirlo sin que entre en conflicto con el resto del código.

GRACIAS ,

Emajesus

NOTA: Este código me lo he medio 'copiao' y medio 'maqueao'.

nCorrect = 0 ' reset score
if (i= RS("Valor")) Then _
nCorrect = nCorrect + 1
' calculate score
nPercent = nCorrect / 10 * 100
%>
VALORACIÓN:<%= nCorrect %> DE 10 PREGUNTAS.
(<%= nPercent %>)
  #6 (permalink)  
Antiguo 06/06/2003, 01:46
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Información ... intuyendo lo que quieres

Código PHP:
<% 
nCorrect 0
request.form(RS("Question"))

if 
"" then

response
.write "No contesto a la pregunta"
else 

response.write("<p class='Ques'>" RS("Question") & "</p>")
response.write("<p class='Ans'>La respuesta correcta:" RS("Valor") & "")

if (
iRS("Valor")) Then

response
.write(" <p class='CorExpl'>¡CORRECTO! Tu respuesta ha sido: " "</p><br><br>")
nCorrect nCorrect 1

else

response.write(" <p class='IncExpl'>¡INCORRECTO! Tu respuesta ha sido: " "</p><br><br>")

end if
nPercent nCorrect 10 100
%>
VALORACIÓN:<%= nCorrect %> DE 10 PREGUNTAS.
(<%= 
nPercent %> )
<%
end if 
RS.MoveNext
Loop

RS
.Close
Set RS 
Nothing
oConn
.Close
Set oConn 
Nothing

%> 
Supongo que si tu test tiene 10 preguntas ese codigo estará dentro de un bucle... Entonces la primera sentencia nCorrect = 0 la tienes que que poner fuera del bucle.

Si te da algún error ponlo aquí... programar a ciegas es difícil acertar a la primera.

Un beso

Última edición por Helbira; 06/06/2003 a las 02:37
  #7 (permalink)  
Antiguo 06/06/2003, 02:12
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Hola,

En primer lugar, gracias por tu ayuda

En segundo lugar, el código me da error 500, pero no te sé decir qué exactamente porque al no tener servidor en casa, no detecto exactamente qué pasa.

Gracias por tu ayuda y si se te ocurre algo dímelo, por favor,

Emajesus
  #8 (permalink)  
Antiguo 06/06/2003, 02:15
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Error 500 sólo?.. Te dirá un número de línea y un motivo...

Copia entero el error
  #9 (permalink)  
Antiguo 06/06/2003, 02:33
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
¡Ahhhhhhh!


Creo que sí; incluí <% y funcionó; me olvidé de incluir un <%; es que al no tener servidor propio en casa, no puedo controlar bien los errores.

Helbira -así lo escribes- eres una de las mejores del foro; respondes con facilidad y fiabilidad y también validez- como diríamos en nuestra disciplina-.

Gracias ,

Emajesus




¡Dios! Lo que me sucede es que por cada pregunta me repite dos veces la valoración de cada pregunta sin calcularme tampoco el porcentaje.

No me da una valoración global sino por pregunta.

Gracias por todo,

Emajesus

Si dejo tu código original, me da el siguiente error:


Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/pruebas/valoracion.asp, line 52



La línea 52 es: (<%= nPercent %> )
  #10 (permalink)  
Antiguo 06/06/2003, 02:34
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Es lo que te comentaba del bucle... el inicio del bucle no me lo has puesto y cuando imprimes la valoración.. ahí me equivoqué yo (donde está el smile de vergüenza?) .. debí habértela puesto después del bucle...

Te reescribo el código de nuevo:

Cita:
<%
nCorrect = 0
i = request.form(RS("Question"))

if i = "" then

response.write "No contesto a la pregunta"
else

response.write("<p class='Ques'>" & RS("Question") & "</p>")
response.write("<p class='Ans'>La respuesta correcta:" & RS("Valor") & "")

if (i= RS("Valor")) Then

response.write(" <p class='CorExpl'>¡CORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")
nCorrect = nCorrect + 1

else

response.write(" <p class='IncExpl'>¡INCORRECTO! Tu respuesta ha sido: " & i & "</p><br><br>")

end if
end if
RS.MoveNext
Loop
nPercent = nCorrect / 10 * 100
%>
VALORACIÓN:<%= nCorrect %> DE 10 PREGUNTAS.
(<%= nPercent %> )

<%
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>

Última edición por Helbira; 06/06/2003 a las 02:37
  #11 (permalink)  
Antiguo 06/06/2003, 02:43
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Siento la lata que te doy; si lo incluyo como me dices, la valoración es 0 de 10 preguntas; no me reconoce ninguna pregunta acertada; no sé por qué.

Me indica la valoración abajo, sin repetir, pero 0 de 10 prguntas.

Gracias por todo ,

Emajesus
  #12 (permalink)  
Antiguo 06/06/2003, 02:49
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
¿Estás poniendo el nCorrect=0 del principio fuera del bucle como
te dije?

¿Por qué no pones el código del bucle completo? Te falta la definición del principio del mismo.
  #13 (permalink)  
Antiguo 06/06/2003, 02:54
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Hasta que he repasado esa instrucción 'fuera del bucle' ... he estado pillao!

Me funciona

Siento la lata que doy; es que he comenzado a ponerme en serio -a programar- hace muy poco -me gusta saber qué hago- ... y la verdad es que hay cosillas que no logro entender.

Gracias ,

Emajesus
  #14 (permalink)  
Antiguo 06/06/2003, 03:02
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Ten en cuenta que todo lo que metas desde for ... hasta loop

Código PHP:
for ...
  
instr bucle
loop 
Las instr bucle se ejecutan 10 veces... si tenias el nCorrect=0 dentro del bucle... se inicializaba a 0 cada vez y nunca se incrementaba. Como mucho te hubiera dado 1 respuesta acertada pero si la ultima era incorrecta entonces te daba 0.

Se trataba de inicializarlo a 0 fuera del bucle... luego las instr del bucle se ejecutaban 10 veces.... y se pisaba el valor de nCorrect con su valor actual(que ya no siempre es 0) + 1 cada vez que era acertada...



Bueno.. no sé si me expliqué bien.. soy pésima para eso... por eso no acabé en la enseñanza

Un beso

P.D.: Viva er Betis manque pierda!
  #15 (permalink)  
Antiguo 06/06/2003, 20:35
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 4 meses
Puntos: 6
YA AYUDO LA HELBIRA
PERO


VIVA ER BETIS !!
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:21.