jag försöker koda en egen omröstning men jag får problem när jag ska uppdatera rösterna. jag vet inte riktigt vad felet e inget felmeddelande kommer upp. jag tror att det e någonting med request.querystringen, därför stoppade jag det som rubrik.
vet någon hur jag kan fixa det?
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("poll.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM fraga order by id Desc"
rs.Open Addera, Connect, 3, 3
Do Until rs.EOF
totala = rs("TotalaRoster")
oid = rs("ID")
Response.write rs("fraga")
rs.movenext
loop
rs.close
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM alt WHERE PollID = "&oid&""
rs.Open Addera, Connect, 3, 3
Do Until rs.EOF%>
</strong></p>
<p><a href="poll.asp?id=<%=rs("ID")%>">
<%=rs("alt")%>
</a><br>
<%=rs("Roster")%>
<%
if request.QueryString("id") = rs("ID") then
Set rs2 = Server.CreateObject("ADODB.Recordset")
visa = "select * FROM alt where ID='"&request.QueryString("id")&"'"
rs2.Open visa, Connect, 3, 3
rs2("Roster") = rs2("Roster")+1
Response.Redirect "upd.asp"
end if
rs.movenext
loop
rs.close%>
Set rs2 = Server.CreateObject("ADODB.Recordset")
visa = "select * FROM alt where ID='"&request.QueryString("id")&"'"
rs2.Open visa, Connect, 3, 3
rs2("Roster") = rs2("Roster")+1
Ny kod:
Set rs2 = Server.CreateObject("ADODB.Recordset")
visa = "UPDATE alt SET Roster = Roster + 1 where ID='"&request.QueryString("id")&"'"
rs2.Open visa, Connect, 3, 3
Hade jag gjort ett röstningsscript hade jag nog gjort nåt sånt här
<%
Dim Con, RS, strSQL, arrData
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("poll.mdb")
'-- If-sats ifall nån röstar
If Not Request.QueryString("rostarpa") = "" Then
strSQL = "UPDATE fraga SET totalaroster = totalaroster + 1 WHERE ID = " & Request.QueryString("id")
Con.Execute(strSQL),,128
strSQL = "UPDATE alt SET roster = roster + 1 WHERE ID = " & Request.QueryString("rostarpa")
Con.Execute(strSQL),,128
End If
'--
strSQL = "SELECT TOP 1 fraga.ID, fraga.fraga, fraga.totalaroster, alt.alt, alt.roster, alt.ID " &_
"FROM fraga " &_
"LEFT JOIN alt ON alt.fragaID = fraga.ID" & " " &_
"ORDER BY fraga.ID DESC"
Set RS = Con.Execute(strSQL)
arrData = RS.getRows()
Con.Close : Set Con = Nothing
Set RS = Nothing
%>
<table>
<tr>
<td colspan="2"><%=arrData(1,0)%></td>
</tr>
<%
Response.Write(vbCrLf)
Response.Write(" <tr>" & vbCrLf)'
Dim i
For i = 0 To UBound(arrData,2)
Response.Write(" <td><a href='?id=" & arrData(0,i) & "&rostarpa=" & arrData(5,i) & "'>" & arrData(3,i) & "</a></td>" & vbCrLf & " <td>" & arrData(4,i) & "</td>" & vbCrLf)
Response.Write(" </tr><tr>" & vbCrLf)
Next
Response.Write(" </tr>" & vbCrLf)
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td>Totalt antal röster:</td>" & vbCrLf & " <td>" & arrData(2,0) & "</td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Erase arrData
%>
</table>
vilket get utskriften
__________________________
| |
| Är kor aliens? |
|__________________________|
| | |
| _ja_ | 2 |
|______________________|___|
| | |
| _nej_ | 1 |
|______________________|___|
| | |
| Totalt antal röster: | 3 |
|______________________|___|
Detta ger dock ingen kontroll över ifall personen i fråga spamar in röster
edit.
Ser att jag läste för fort och kodade efter vad jag trodde jag läste x(
Nu plockar jag bara ut 1 fråga och dess tillhörande svarsalternativ. Vill man kunna lista alla gamla frågor med sina svarsalternativ kan det bli lite trixit. Har inget bra tillvägagångssätt just nu då jag jobbar, så kan inte testa mig fram.