Avatar billede thefatman Nybegynder
04. juni 2003 - 18:48 Der er 6 kommentarer og
1 løsning

Vote scirpt - Hvordan gør jeg det dynamisk?

heyza

Jeg er igang med at lave et vote system..
Men Hvordan laver jeg det dynamisk? SÅ kan jeg oprette
valgmuligheder via min database og på den måde klarer den det
hele selv..
<%
i = 1
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "Select * from vote_system"
rs.Open strSQL, Conn, 1, 3

WHILE NOT RS.EOF
%>
<input type="radio" name="=vote<%=i%>" value="1">
<%=rs("name")%>
<br>

<%
i = i + 1
rs.movenext
wend
%>


Sådan her ser min form ud, så den laver radio bottoms for hver
mulighed der står i min database. Det virker fint nok..
Men så kommer jeg det mit problem..
Hvordan laver jeg min SQL add dunamisk på samme måde? Så den add
"+1" til mit felt og kører den x antal gange hvor X er hvor mange
muligheder? Kan man bruge noget for each "x" in "y" ?

Lige nu har jeg en amatørløsning:
if request.form("Vote1") = "1" then
rs("Vote1") = rs("Vote1") + 1
end if

og sådan bliver jeg ved..

Håber I kan hjælpe mig..
Avatar billede eagleeye Praktikant
04. juni 2003 - 18:53 #1
Hvis du give dem samme navn altså radio knapperne. Og ligger vote1, vote2, vote3 ind i value delen, så de ser sådan her ud:

<input type=radio name="voteme" value="vote1">
<input type=radio name="voteme" value="vote2">
<input type=radio name="voteme" value="vote3">
..

Så kan du hvor du gemmer hendte voteme :

voteme = Request.Form("voteme")
if voteme <> "" then
  SQL = "UPDATE tabel SET " & voteme & " = " & voteme & " + 1 WHERE id = xxx"

  Conn.Execute(SQL)
end if
Avatar billede eagleeye Praktikant
04. juni 2003 - 19:00 #2
Hvis de ikke har samme navn kan man vælge alle radio knapperne på samme tid. Ved at give dem samme navn kommer i en radio-gruppe hvor kun den ene kan være valgt.
Avatar billede thefatman Nybegynder
04. juni 2003 - 19:24 #3
#Eagleeye

Jeg er ikke stiv  i SQL, derfor bruger jeg recordset..

NÅr jeg skriver dette:
voteme = Request.Form("vote")

SQL = "UPDATE vote_Votes SET " & voteme & " = " & voteme & " + 1"

Så får jeg:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/vote/default.asp, line 12

og det er min SQL sætning
Avatar billede eagleeye Praktikant
04. juni 2003 - 19:26 #4
Og du har lavet navnet om på dine radio knapper til vote ?

Prøv at udskrive SQL'en:

SQL = "UPDATE vote_Votes SET " & voteme & " = " & voteme & " + 1"
Response.Write SQL
Response.End

og tjek der står rigtig kolonnenavn et SET
Avatar billede thefatman Nybegynder
04. juni 2003 - 22:26 #5
Mange tak

Det virker nu.

Kan jeg sende de point til dig eller kan du ikke bare oprette svar?
Avatar billede eagleeye Praktikant
04. juni 2003 - 22:32 #6
Så laver jeg da lige et svar ;)
Avatar billede eagleeye Praktikant
04. juni 2003 - 22:41 #7
Så skal du bare acceptere svaret så spørgsmålet lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester