codice:
<%@ LANGUAGE = "VBscript" %>
<%
'dichiara l'array
dim a(14)
'Funzione per ordinamento array
sub ordina(byref A)
n=ubound(A)
for j=1 to n
x=A(j)(0)
x2=A(j)(1)
x3=A(j)(2)
i=j-1
go=1
while (i>=0)and(go=1)
if (A(i)(0)<x) then
A(i+1)(0)=A(i)(0)
A(i+1)(1)=A(i)(1)
A(i+1)(2)=A(i)(2)
i=i-1
else
go=0
end if
wend
A(i+1)(0)=x
A(i+1)(1)=x2
A(i+1)(2)=x3
next
end sub
'recupera il numero di opzioni previste per il sondaggio
Voti = Request.form("tot_voti")
'recupera il flag di votazione
votato = request.form("votato")
'esegue lettura dati e update dei voti
if votato = "VOTA" then
For i = 1 to Voti
myVarVoto = "voto" & CStr(i)
myVarVoto = Request.Form(myVarVoto)
if len(myVarVoto) > 0 then
'query di estrazione dati dalla tabella sondaggi
strSQL = "SELECT Id_sondaggio, Ris1, Opzione1, Ris2, Opzione2, Ris3, Opzione3, Ris4, Opzione4, " & _
" Ris5, Opzione5, Ris6, Opzione6, Ris7, Opzione7, Ris8, Opzione8, " & _
" Ris9, Opzione9, Ris10, Opzione10, Ris11, Opzione11, Ris12, Opzione12, " & _
" Ris13, Opzione13, Ris14, Opzione14, Ris15, Opzione15 " & _
" FROM sondaggi where Id_sondaggio = 1 "
Set objrs = Server.CreateObject("ADODB.Recordset")
objrs.Open strSQL, objConn
if myVarVoto <> "" then
select case myVarVoto
case "voto1"
sqlUpd = "UPDATE sondaggi set Ris1 = " & objrs("Ris1") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto2"
sqlUpd = "UPDATE sondaggi set Ris2 = " & objrs("Ris2") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto3"
sqlUpd = "UPDATE sondaggi set Ris3 = " & objrs("Ris3") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto4"
sqlUpd = "UPDATE sondaggi set Ris4 = " & objrs("Ris4") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto5"
sqlUpd = "UPDATE sondaggi set Ris5 = " & objrs("Ris5") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto6"
sqlUpd = "UPDATE sondaggi set Ris6 = " & objrs("Ris6") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto7"
sqlUpd = "UPDATE sondaggi set Ris7 = " & objrs("Ris7") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto8"
sqlUpd = "UPDATE sondaggi set Ris8 = " & objrs("Ris8") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto9"
sqlUpd = "UPDATE sondaggi set Ris9 = " & objrs("Ris9") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto10"
sqlUpd = "UPDATE sondaggi set Ris10 = " & objrs("Ris10") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto11"
sqlUpd = "UPDATE sondaggi set Ris11 = " & objrs("Ris11") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto12"
sqlUpd = "UPDATE sondaggi set Ris12 = " & objrs("Ris12") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto13"
sqlUpd = "UPDATE sondaggi set Ris13 = " & objrs("Ris13") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto14"
sqlUpd = "UPDATE sondaggi set Ris14 = " & objrs("Ris14") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
case "voto15"
sqlUpd = "UPDATE sondaggi set Ris15 = " & objrs("Ris15") + 1 & " WHERE Id_sondaggio = " & objrs("Id_sondaggio")
objConn.execute(sqlUpd)
end select
end if
end if
next 'fine ciclo
'chiude il recordset
objrs.close
set objrs = nothing
end if
'query di estrazione dati dalla tabella sondaggi ultima aggiornata
strSQL = "SELECT Domanda_sondaggio, Ris1, Opzione1, Ris2, Opzione2, Ris3, Opzione3, Ris4, Opzione4, " & _
" Ris5, Opzione5, Ris6, Opzione6, Ris7, Opzione7, Ris8, Opzione8, " & _
" Ris9, Opzione9, Ris10, Opzione10, Ris11, Opzione11, Ris12, Opzione12, " & _
" Ris13, Opzione13, Ris14, Opzione14, Ris15, Opzione15 " & _
" FROM sondaggi where Id_sondaggio = 1 "
Set objrs = Server.CreateObject("ADODB.Recordset")
objrs.Open strSQL, objConn
'inizia a scrivere la pagina
Response.Write("<html><head><title>Home Page</title>")
Response.Write("<script language='JavaScript' src='script.js'></script>")
Response.Write("</head>")
Response.Write("<body>")
if not objrs.eof then
'carico l'array delle domande e delle risposte
a(0)=array(objrs("Ris1"), objrs("Opzione1"), 1)
a(1)=array(objrs("Ris2"), objrs("Opzione2"), 2)
a(2)=array(objrs("Ris3"), objrs("Opzione3"), 3)
a(3)=array(objrs("Ris4"), objrs("Opzione4"), 4)
a(4)=array(objrs("Ris5"), objrs("Opzione5"), 5)
a(5)=array(objrs("Ris6"), objrs("Opzione6"), 6)
a(6)=array(objrs("Ris7"), objrs("Opzione7"), 7)
a(7)=array(objrs("Ris8"), objrs("Opzione8"), 8)
a(8)=array(objrs("Ris9"), objrs("Opzione9"), 9)
a(9)=array(objrs("Ris10"), objrs("Opzione10"), 10)
a(10)=array(objrs("Ris11"), objrs("Opzione11"), 11)
a(11)=array(objrs("Ris12"), objrs("Opzione12"), 12)
a(12)=array(objrs("Ris13"), objrs("Opzione13"), 13)
a(13)=array(objrs("Ris14"), objrs("Opzione14"), 14)
a(14)=array(objrs("Ris15"), objrs("Opzione15"), 15)
call ordina(a)
'stampiamo a video l'array ordinato in una formattazione HTML
Response.Write("<table border='1' align='center' width='250'>")
Response.Write("<form name='sondaggio' action='array.asp' method='post' onSubmit='return testSondaggioHome();'>")
Response.Write("<tr align='center'><td colspan='3'>Sondaggio del mese</td></tr>")
Response.Write("<tr align='center'><td colspan='3'>" & objrs("Domanda_sondaggio") & "</td></tr>")
Response.Write("<tr align='center'><td colspan='2'>Discipline:</td><td>Voti:</td></tr>")
contaScelta = 1
for i=0 to ubound(a)
if a(i)(1) <> "" then
Response.Write("<tr>")
Response.Write("<td align='left'>" & a(i)(1) & "</td>")
Response.Write("<td align='center'><input type='checkbox' value='voto" & a(i)(2) & "' name='voto" & a(i)(2) & "'></td>")
Response.Write("<td align='center'>" & a(i)(0) & "</td>")
Response.Write("</tr>")
end if
contaScelta = contaScelta + 1
next
Response.Write("<tr align='center'><td colspan='3'><input type='hidden' name='tot_voti' value='" & contaScelta - 1 & "'><input type='hidden' name='votato' value=''><input type='submit' value='Vota' name='vota'></td></tr>")
Response.Write("</form>")
Response.Write("</table>")
else
Response.Write("<table border='1' align='center' width='200'>")
response.write("<tr><td align='center'>Nessun sondaggio trovato</td></tr>")
Response.Write("</table>")
end if
'chiude la pagina
Response.Write("</body></html>")
'pulizia oggetti ADO
objrs.close
set objrs = nothing
objConn.close
set objConn = Nothing
'per il contatore visite
Set f = CreateObject("Scripting.FileSystemObject")
Percorso = Server.MapPath("/mdb-database/contatoreStellina.txt")
Set a = f.OpenTextFile(Percorso)
conta_visite = cint(a.ReadLine)
If Session("conta_visite") = 0 then
Session("conta_visite") = conta_visite
conta_visite = conta_visite + 1
a.close
Set a = f.CreateTextFile(Percorso, True)
a.WriteLine(conta_visite)
End If
a.Close
response.write("Visite: " & conta_visite)%>