webForumDet fria alternativet

fråga...

ASP

16 svar · 337 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

hej. jag har följande tabell: fragan och med poster: id, Ja, Nej och Antalsvar.

jag vet inte hur jag ska få ihop detta, hade det förut till ett community, där man kunde rösta på medlemmar, nu vill jag bara ha en enkel fråga.... :)

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
Ja = request.form("Ja")
Nej = Request.Form("Nej")
sql = "SELECT betyg, antalRoster FROM fragan where username = '" & username &"'"
Set rsRosta = databas.execute (sql)
%>
<%
vote = Request.Form("rosta")

if rsRosta.eof then
'det finns inga röster än
If request.form("fragan") = "Ja" then
SQL = "insert into fragan (Ja,Antal) values (" & _
Ja & ",1,"')"
elseif
request.form("fragan") = "Nej" then
SQL = "insert into fragan (Nej,Antal) values (" & _
Nej & ",1,"')"
else
vote = cInt(vote)
SQL = "UPDATE fragan SET betyg = betyg + " & vote & ", antalRoster = antalRoster + 1 WHERE [username] = '" & Request.Form("username") &"'"
end if
Databas.Execute SQL,,128
%>

------------------
My name is Chris - Chris dangerous!

Medlem sedan juni 200032 967 inlägg
#2

Jag förstår inte vad du vill att vi ska hjälpa dig med. :)

Vad vill du få ut av det hela?

Medlem sedan dec. 20002 526 inlägg
#3

jag får ju fel mess :(

detta:

Kompileringsfel i Microsoft VBScript fel '800a03ea' 

Syntaxfel 

/billdal/add_svar.asp, rad 28 

elseif

sen vet jag inte hur jag ska koda (ändra i koden) för att få allt att gå ihop... :( plz...

------------------
My name is Chris - Chris dangerous!

Medlem sedan juni 200032 967 inlägg
#4

Till att börja med, flytta ihop elseif med det som står på raden under.

elseif request.form("fragan") = "Nej" then

Mvh,

Medlem sedan dec. 20002 526 inlägg
#5

mmm.. men nu fick jag felmess att end if saknades.. där det redan finns???

<%
vote = Request.Form("rosta")

if rsRosta.eof then
'det finns inga röster än
If request.form("fragan") = "Ja" then
SQL = "insert into fragan (Ja,Antal) values (" & _
Ja & ",1,"')"
elseif request.form("fragan") = "Nej" then
SQL = "insert into fragan (Nej,Antal) values (" & _
Nej & ",1,"')"
else
vote = cInt(vote)
SQL = "UPDATE fragan SET betyg = betyg + " & vote & ", antalRoster = antalRoster + 1 WHERE [username] = '" & Request.Form("username") &"'"
End If
Databas.Execute SQL,,128
%>

------------------
My name is Chris - Chris dangerous!

Medlem sedan feb. 20012 412 inlägg
#6
if rsRosta.eof then
'det finns inga röster än
If request.form("fragan") = "Ja" then

Du har 2 if-satser men bara en end if. Skriv elseif på den nedre av dessa 2.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan dec. 200012 464 inlägg
#7

Varför har du med antalsvar i tabellen? Kan du inte göra så att kolumnen ja innehåller antal svar som är ja
och nej de som är nej? Vad använder du fälten ja och nej till?

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"

id = request.form("id") 'Du måste ha något fält som anger id för fragan
If request.form("fragan") = "Ja" then
   Ja = 1
   Nej = 0
else
   Ja = 0
   Nej = 1
end if 
SQL = "UPDATE fragan SET ja = ja + " & ja & ", nej = nej + " & nej & " WHERE id = " & id
databas.execute sql,rows,128
if rows = 0 then
sql = "insert into fragan(id,ja,nej) values(" & id & "," & ja & "," & nej & ")"
databas.execute sql,,128
end if

Databas.close
set databas = nothing
%>

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 20002 526 inlägg
#8

hmm..försöker med kakor nu, men det funkar inte... varför inte???? end if ska in ngn stans... vet inte var?

<%
If request.kaka("rostat") = "ja" thenresponse.write "Du måste vänta 2 timmar tills du kan rösta igen."
else

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
id = request.form("id") 'Du måste ha något fält som anger id för fragan
If request.form("fragan") = "Ja" then
JaNej="Ja"
else
JaNej="Nej"
end if 
SQL = "UPDATE fragan SET " & JaNej & "=" & JaNej & "+1 WHERE id = " & id
databas.execute sql,128

response.kaka("rostat") = "ja"
response.kaka("rostat").Expires = "2h"
elseif

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
id = request.form("id") 'Du måste ha något fält som anger id för fragan
If request.form("fragan") = "Ja" then
JaNej="Ja"
else
JaNej="Nej"

SQL = "UPDATE fragan SET " & JaNej & "=" & JaNej & "+1 WHERE id = " & id
databas.execute sql,128

response.kaka("rostat") = "ja"
response.kaka("rostat").Expires = "2h"
endif
endif
Databas.close
set databas = nothing
%>

plz... (ps, har ändrat till kaka, får ju inte skriva cook... på wf.)

------------------
My name is Chris - Chris dangerous!

Medlem sedan mars 20015 287 inlägg
#9

Du kör en If-sats det första du gör, tycker det ser ut som om du ska ha en det sista du gör då också. (Efter databasstängningen.)
Mitt i alltihopa har du en elseif som jag inte riktigt fattar vad den har där att göra? För övrigt fattar jag inta vad det mesta ovanför den gör där heller... mao är jag nog inte rätt lirare att ge dig svar...

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

Medlem sedan mars 20015 287 inlägg
#10

Borde typ inte detta räcka?

<%
If request.kaka("rostat") = "ja" then
response.write "Du måste vänta 2 timmar tills du kan rösta igen."
else
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
id = request.form("id") 'Du måste ha något fält som anger id för fragan
If request.form("fragan") = "Ja" then
JaNej="Ja"
else
JaNej="Nej"
end if 
SQL = "UPDATE fragan SET " & JaNej & "=" & JaNej & "+1 WHERE id = " & id
databas.execute sql,128

response.kaka("rostat") = "ja"
response.kaka("rostat").Expires = "2h"

Databas.close
set databas = nothing

endif
%>

Sen kan du ju iofs också kolla att dina request.form har med sig något inan du öppnar databasen.
------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

[Redigerat av solbulle den 30 jan 2002]

Medlem sedan dec. 20002 526 inlägg
#11

hmmm... får felmess nu, obs har ändrat till kaka för wf..

Körningsfel i Microsoft VBScript fel '800a01b6' 

Objektet stöder inte egenskapen eller metoden.: 'kaka' 

/billdal/add_svar.asp, rad 13

------------------
My name is Chris - Chris dangerous!

Medlem sedan dec. 200012 464 inlägg
#12
thenresponse.write

ser det fortfarande ut så i din kod. (1:a raden i ditt näst senaste inlägg.)

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 20012 412 inlägg
#13
response.kaka("rostat").Expires = "2h"

Jag hoppas att du inte skrivit så?

sedan ska det vara ny rad efter then

If request.kaka("rostat") = "ja" thenresponse.write "Du måste vänta 2 timmar tills du kan rösta igen."

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

Medlem sedan dec. 20002 526 inlägg
#14

LarsG, jag har gjort radbyte där.
Jorgen, 2h står det inte heller.

rad 13 är första raden på scriptet...

If request.kaka("rostat") = "ja"

------------------
My name is Chris - Chris dangerous!

Medlem sedan dec. 20002 526 inlägg
#15

får inga felmess, men funkar denna koden som den ska?

<%
Set databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"

If request.kaka("rostat") = "ja" then
response.write "Du måste vänta 2 timmar tills du kan rösta igen."
else %>

<script type="text/javascript" language="JavaScript">
<!--
alert("Din röst är lagd");
window.location = "default.asp";
//-->
</script>
<%
id = request.form("id")
If request.form("fragan") = "Ja" then
JaNej="Ja"
else
JaNej="Nej"
end if 
SQL = "UPDATE fragan SET " & JaNej & "=" & JaNej & "+1 WHERE id = " & id
databas.execute SQL,128
response.kaka("rostat") = "ja"
response.kaka("rostat").Expires = "January 29, 2002"

databas.close
set databas = nothing
end if
%>

sen återigen, hur gör man så att kakan går ut två timmar efter att man har röstat?

------------------
My name is Chris - Chris dangerous!

Medlem sedan dec. 20002 526 inlägg
#16

någon som kan kolla på min kod?

------------------
My name is Chris - Chris dangerous!

Medlem sedan dec. 200012 464 inlägg
#17

Om du vill kontrollera på timmar så måste du spara klockslaget för senast röstning och själv räkna ut antalet timmar. expiration på cookies är datumbaserad.

'vid röstning

response.&#67ookies("rostat") = now()

'vid kontroll

senast = request.&#67ookies("rostat")
if isdate(senast) then
   if datediff("h",cdate(senast),now()) < 2 then
       response.write "Kom igen om 2 timmar <br>"
       response.redirect "www.disney.com"
end if
end if

Resten av koden? Har du testat och fått något problem?

------------------
essentitia preter non sans multiplicandum

264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)