Hej, Mikael Hej, Mikael.Röstning Update-problem
Röstningen är Väldigt enkel. Svara JA eller NEJ!
Här är sidan som hämtar/updaterar/visar resultatet.
<%
Option Explicit
Dim Ja, Nej, Yes, No, Summa, J_resultat, N_resultat
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/foretags_administration.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
'#=====Hämta frågan=======#
Sql = "SELECT fraga FROM rostning_fraga"
rs.Open Sql, Conn
%>
<%=rs("fraga")%><br>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/foretags_administration.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
'#=======Hämta resultatet========#
Sql = "SELECT ja, nej FROM rostning_resultat"
rs.Open Sql, Conn, adOpenStatic, adLockOptimistic
'#=======Uppdatera databasen=====#
If Request.Form("fraga") = "Ja" Then
Ja = rs("ja")
Ja = Ja -- 1
Set rs = Conn.Execute("UPDATE rostning_resultat SET ja = '"& Ja &"'")
'rs("ja") = Ja -- 1
'rs.Update
Else If Request.Form("fraga") = "Nej" Then
Nej = rs("nej")
Nej = Nej -- 1
Set rs = Conn.Execute("UPDATE rostning_resultat SET nej = '"& Nej &"'")
'rs("nej") = Nej -- 1
'rs.Update
End If
'#=====Skapa variabler om värden ifrån databasen======#
Yes = rs("ja")
No = rs("nej")
Summa = Yes -- No
'#=====Skapa tomma resultat-variabler======#
J_resultat = "0"
N_resultat = "0"
'#======Gör uträkningen=====#
If Yes => "1" Then
J_resultat = Round(Yes / Summa * 100)
End If
If No => "1" Then
N_resultat = Round(No / Summa * 100)
End If
%>
Ställningen just nu: <br>
Ja: <b><% =J_resultat %>%</b><br>
Nej: <b><% =N_resultat %>%</b><br>
Antal svar hittills: <b><% =Summa %></b>
Alt går bra sålänge jag Inte väljer att uppdatera värdena.
Det kvittar om jag änvänder det som är bort-kommenterat eller de två Update-raderna övanför varje kommentar.
Det som visas då Update ingår är: Sidan kan inte visas
För mig ser det Hur rätt ut som helst men jag och servern är Inte överrens och den har väl alltid sista ordet ;)
Ser Du nått jag inte ser?
Micke
Sv: Röstning Update-problem
Nu har jag inte satt mig in i hur du har tänkt, men när det gäller en röstningsfunktion, så brukar man
göra på följande sätt.
Man arbeta med Cookies och sätter tiden till 1 till 7 dagar (Now() +7)
När man laddar sidan, så kollar man, finns Cookies då visar man bara resultaten, annars så visas
möjligheten för att rösta.
När man har röstat och klickar på submit, så är det bäst att gå till en annan sida, där man uppdatera
databasen, sätter Cookies och redirectar till den ursprungliga sidan.
I klartext, så tror jag att det innebär att du får nog börja om från början.
Ta små steg, men var noga med att du har förstått vad du har gjort. Spring inte på för att skynda,
det vinner du ingenting på. Fastnar du, då vet du var vi finns.
Lycka till.Sv:Röstning Update-problem
Tänkte lite på cookies men jag ville testa denna varianten bara för att se vad som hände...
Det som jag är nyfiken på Nu är Varför det inte går att uppdatera...
ALLT är rätt, enligt mig!
Min tanke är:
Ta emot värdet/Uppdatera
Skapa variabler
Göra uträkningarna
Visa resultatet
Ska testa en variant med Cookies men jag skulle gärna vilja veta Vad Du tror skulle kunna vara felet med Denna varianten, om du orkar :)
Man lära sig ju av misstagen oxå :)
Jag har en annan fråga oxå ang att välja värden ur Två Select-menyer :)
Har gjort två exemplar som om du skulle vilja se på under en annan tråd.
(Har även en annan :)) fråga om att visa vad som ska visas på sidan angående Vad man valt ur Select-menyen.
Man kan ju inte välja att skriva ut ett fält om det inte är med i Sql-satsen!
Här har jag oxå ett enkelt kod-avsnitt .
Ta det oxå under en annan tråd?)
Jag har mycket som jag har liggandes och som jag vill veta hur man gör :)
MickeSv: Röstning Update-problem
Jag blir inte riktigt klok på hur du har tänkt här:
If Request.Form("fraga") = "Ja" Then
Ja = rs("ja")
Ja = Ja -- 1
Set rs = Conn.Execute("UPDATE rostning_resultat SET ja = '"& Ja &"'")
'rs("ja") = Ja -- 1
'rs.Update
Else If Request.Form("fraga") = "Nej" Then
Nej = rs("nej")
Nej = Nej -- 1
Set rs = Conn.Execute("UPDATE rostning_resultat SET nej = '"& Nej &"'")
'rs("nej") = Nej -- 1
'rs.Update
End If
På dina frågor, finns det bara ja eller nej?
Hur sparas det i databasen?
På vilket sätt svarar klienten, via radioknappar?
Du får nog börja med att ge mig dessa svar.
I din iver så tycker jag att du har inte tänkt igenom vad som händer, när sidan laddas.
Tänk på, att först så körs include, sen asp och sist html.
Vad menar du med Ja = Ja -- 1 ???
Det finns väll inget i vb-script som ser så ut...