Kul att det äntligen funkade!
Omröstningscript?
40 svar · 405 visningar · startad av ReloadMaster · sida 2 av 3
Trådstarten, av ReloadMaster
Tjena! Jag skulle behöva hjälp med ett omröstningsscript... Här är koden: \<html\> \<head\> \<title\>Omröstning - \ \ \ \ \ \.nu\</title\> \</head\> \<body\> \<% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb") SQL = "SELECT top 1 \ From rosta ORDER BY ID DESC" Set RecSet = Connect.Execute(S
Läs hela trådstarten →Bara eftersom du klarade det så tänker jag ställa två frågor till...
Hur ska jag bygga på för att den ska lägga in antalet röste också som heter roster1 - roster10
Och hur gör jag för att räkna ihop dom?
Okej, vi börjar med att registrera rösten:
1. Du tar helt enkelt reda på vilket av alternativet användaren valde.
2. Du uppdaterar fältet med en:
UPDATE rosta SET rostrX = rosterX + 1 WHERE pollId = [i]den poll du vill uppdatera[/i]
där X är numret på det fält du vill uppdatera.
Varför kan ej denna funka den vill avsluta programsatsen efter "rosta"
<html>
<head>
<title>Omröstning - _ _ _ _ _ _.nu</title>
</head>
<body>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")
%>
<%
If Request.Querystring("rosta") = "1" Then
SQL = UPDATE rosta SET roster1 = roster1 + 1 WHERE ID=1
Connect.Execute(SQL)
End If
%>
<%
Connect.Close
Set Connect = Nothing
%>
</body>
</html>
Du har glömt citationstecken runt din SQL-fråga:
SQL = "UPDATE rosta SET roster1 = roster1 + 1 WHERE ID=1"
mvh,
Tackar,
en liten ny enklare fråga(kanske):
Jag vill att där det står ID
så kan det senaste ID vara...
Någon....
Ja asså att det uppdaterar senaste ID...
?:
Förklara tydligare hur du menar ReloadMaster!
(@@identity plockar ut ID:t på den senaste inlagda posten)
Och här kommer ett försök till en förklaring:
Eftersom Omrsötningen får ett speciellt ID så vill jag att där det står Id på UPDATE strängen att uppdatera det senaste ID:et
Och här kommer ett försök till en förklaring:
Eftersom Omrsötningen får ett speciellt ID så vill jag att där det står Id på UPDATE strängen att uppdatera det senaste ID:et
Den enklaste vore att skicka med ID:t när du röstar. Dvs på den sida där pollen visas, tar du även med ID:t och skickar det i formuläret och tar emot det på registreringssidan och lägger på det på SQL strängen:
ID = Request.QueryString("id")
SQL = "UPDATE ... WHERE id = " & ID
En ny frågor
Som jag undrar över
Och sedan denna:
<%
For loopCount = 1 To 10
If IsEmpty(recset("roster" & loopCount)) OR IsNull(recset("roster" & loopCount)) OR recset("roster" & loopCount) = "" Then Exit For
Response.Write "Svar" &loopcount& ": " & recset("roster" & loopCount) & "<br>"
Next
%>
Så att det ser ut typ så här:
Svar1: 1
Svar2: 0
Svar3: 2
(om bara tre alternativ finns)
Och sedan stopp
Eller att den skriver ut alla tabeller med högre värde än 0
Typ:
Svar1: 1
Svar3: 2
Om du vill hoppa över de poster där värdet = 0
<%
For loopCount = 1 To 10
If IsEmpty(recset("roster" & loopCount)) OR IsNull(recset("roster" & loopCount)) OR recset("roster" & loopCount) = "" Then Exit For
if Clng(recset("roster" & loopCount)) > 0 then
Response.Write "Svar" &loopcount& ": " & recset("roster" & loopCount) & "<br>"
end if
Next
%>
Svårt att förstå vad du menar dock.
Vad jag menar är att finns det bara 2 svarsalternativ
så behöver den bara skriva ut hur många röster dom har...
Och kanske om någon kan hjälpa mikg med att räkna ut procenten om fälten heter roster1, roster2 o.s.v...
Varför kan inte denna funka?
<%If "&svar4&" = "" Then
'Gör inget
Else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>

