Gissar:
SQL="UPDATE vote SET " & Request.Form("vote") & " = " & Request.Form("vote") & "+ 1"
Men har du bara en post i tabellen?
Den frågan uppdaterar ju alla poster i tabellen, eftersom du inte angett något villkor.
Mvh,
12 svar · 301 visningar · startad av limpon
Hur får jag votehandle.asp att fungera som jag vill?
så här ser det ut i vote.asp
<form method="POST" action="votehandle.asp">
<select size="1" name="vote">
<option value="Ja">Ja</option>
<option value="Nej">Nej</option>
<option value="Vet_inte">Vet Inte</option>
<option value="kanske">Kanske</option>
</select>
<input type="submit" value="Rösta" name="submit">
</form>
Och här nedanför har ni votehandle.asp
det är SQL raden som blir fel och jag blir tokig snart om jag inte får veta vad det är för fel jag gjort =)
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../database/database.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL="UPDATE vote SET " & Request.Form("vote") & "=" & RecSet(Request.Form("vote"))+ 1
Connect.Execute(SQL)
%>
Hoppas ni förstår nått =)
Gissar:
SQL="UPDATE vote SET " & Request.Form("vote") & " = " & Request.Form("vote") & "+ 1"
Men har du bara en post i tabellen?
Den frågan uppdaterar ju alla poster i tabellen, eftersom du inte angett något villkor.
Mvh,
Ja men på vilket sätt tycker du jag ska gå tillväga på då? fan glömde snuffar *gah*
Jag har ingen aning, eftersom jag inte vet hur tabellen är uppbyggd.
Också funderar jag, var vill du ha snuffar någonstans? Du menar inte att de olika fälten är av texttyp, hoppas jag?
Nej självklart inte =)
Jag har löst det nu =)
Tack ändå för hjälpen!
Okej så här löste jag det.
i vote.asp står det så här.
<form method="POST" action="votehandle.asp">
<select size="1" name="vote">
<option value="Ja">Ja</option>
<option value="Nej">Nej</option>
<option value="Vet_inte">Vet Inte</option>
<option value="kanske">Kanske</option>
</select>
<input type="submit" value="Rösta" name="submit">
</form>
Då undrade jag hur jag skulle behandla dom så vald sträng skulle bli "1" och itne "JA" eller "Nej"
då i votehandle.asp har jag den här raden.
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../database/database.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL="UPDATE vote SET "& Request.Form("vote") & " = " & Request.Form("vote") & "+ 1"
%>
där SQL raden löste problemet åt mig.
Använder du RecSet senare i koden? Annars är det onödigt.
Ja jag skriver ju ut värdena, hur många som har röstat på Ja och Nej o.s.v
gör om det till procent
genom Ja = RecSet("ja") / RecSet("total") * 100
o.s.v
Nu har jag problem med sql satsen..
Total_nu = RecSet("total")
temp = Request.Form("vote")
SQL="UPDATE vote SET "& recset(totalt_nu) +1 & temp & "=" & RecSet(temp )+ 1
Connect.Execute(SQL)
I och med att jag skickar via formulär ett ja så får ju det värdet 1 t.ex
men nu vill jag få så att "Totala antalet röster" läggs på med 1 direkt också.
Så jag kan räkna ut procenten.
Vad är det för fel?
Det är väl bättre att du räknar ut antalet röster i SQL-satsen istället, så slipper du ett extra fält
Aha men hur då? =)
ursäkta jag är nyvaken =)
tar tillbaka förra frågan o tackar för svaret istället =)