2.584 messaggi dal 14 maggio 2001
Per una banale visualizzazione metti in un ciclo questa riga:

<%
response.write "Domanda Id" & rec("id") & " ---- valore scelto: " & request.form(rec('id')) &" ---- valore corretto:" & rec("rispostaesatta") & "<br>"
%>
55 messaggi dal 12 settembre 2003
si io stampare a video gli id, la scelta dell'utente e la risposta esatta lo so fare, il problema sta nel creare un sistema astratto, ovvevo valido qualsiasi sia l'id, nel quale si possa creare un sistema che controlli se la risposta dell'utente(value a b o c passato dal radio) sia uguale al campo rispostaesatta..... aiuto!!!non so come fare....!!!!
2.584 messaggi dal 14 maggio 2001
Intendi così:

<%
If request.form(rec('id'))=rec("rispostaesatta") Then
response.write "risposta esatta alla domanda id:" & rec("id") & "<br>"
Else
response.write "risposta ERRATA alla domanda id:" & rec("id") & "<br>"
End If
%>
55 messaggi dal 12 settembre 2003
si proprio cosi, ma con questa sintassi non va bene, cioe' devo correlare es. se il request.form(rec(id'')) = 3 io lo devo confrontare con il campo risposta esatta del record con il campo id = 3 ! cosi' che funzioni qualsiasi sia il campo id... capito?

esempio : If request.form(rec('id'))=rec("rispostaesatta") (del recordo con il campo id uguale a quello ottenuto dal request) Then
ecc..
Modificato da sopadj1 il 20 aprile 2004 21.54 -
2.584 messaggi dal 14 maggio 2001
Scusa ma non sono sicuro di aver capito bene....

Se nella seconda pagina apri un recordset e spazzoli tutti i record con un movenext come ti ho scritto nel messaggio precedente avrai qualcosa del tipo

Id recuperati 1, 15, 16,...

Primo passaggio: l'istruzione che ti ho scritto....
If request.form(rec('id'))=rec("rispostaesatta") Then
Diventa:....
If request.form("1")=3 Then
(questo supponendo che il valore 3 sia la risposta esatta)

e via di seguito.... è quello che mi hai chiesto o non ho capito?
55 messaggi dal 12 settembre 2003
ho provato cosi:
<%
Dim SQL,Rec
SQL="SELECT * FROM quiz order by id asc "                                                  
Set rec = Server.CreateObject("ADODB.Recordset")
Set Rec=Conn.Execute(SQL)
While Not rec.EOF 
punti = 0
if request.form("rec('id')") = rec("rispostaesatta") then
punti = punti + "1"
else
punti = punti
end if
rec.MoveNext
Wend
rec.close
%>

<%=punti%>



ma mi stampa sempre 0 ..... come posso far si che se la risposta e' esatta mi incrementi la variabile di 1 ..... grazie..... ci stiamo per riuscire ....
55 messaggi dal 12 settembre 2003
ho capito, il problema sta nel
request.form("rec('id')")

come posso sostituire questo con una cosa del tipo
request.form(i)
dove i e' un numero che va da 1 a max_id, dove max_id e' il numero massimo del campo id ?
Modificato da sopadj1 il 21 aprile 2004 16.25 -
2.584 messaggi dal 14 maggio 2001
Devi togliere le virgolette dal codice che hai postato:

<%
Dim SQL,Rec
SQL="SELECT * FROM quiz order by id asc "
Set rec = Server.CreateObject("ADODB.Recordset")
Set Rec=Conn.Execute(SQL)
While Not rec.EOF
punti = 0
if request.form(rec("id")) = rec("rispostaesatta") then
punti = punti + "1"
end if
rec.MoveNext
Wend
rec.close
%>

In questo modo:
request.form("rec('id')") cercavi un campo (input, textarea o check...) con questo name: rec('id')
Nella pagina html doveva esserci:
<input type=text name="rec('id')"....

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.