20. maj 2006 - 15:39Der er
27 kommentarer og 1 løsning
Beregn stemmer
Jeg har lavet dette script, for at beregne stemmer ud fra et billedes id.
Problemet er når jeg skal regne pointsummen fra databasen, får jeg ikke noget output hvis der nu slet ikke er stemt på et billede. Dvs. i stedet for at have et tomt output, vil jeg have udskrevet et 0 i stedet, hvordan klarer jeg dette?
Er nød til at have det nul, da jeg senere i scriptet laver gennemsnit og afkorter dicimaler.
SQL1 = "SELECT SUM(Rate) AS Votes FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RSVotes = Conn.Execute(SQL1) Votes = rsVotes("Votes") Set RSVotes=Nothing response.write "Votes:" & Votes & "<br>"
strSQL = "SELECT COUNT(*) FROM rates WHERE pictureID = " & rsPicture("ID") Set Rs = conn.Execute (strSQL) count = Rs(0) Set RS=Nothing response.write "Count:" & Count & "<br>"
Nu har jeg sat det ind sådan her,men stadig det samme..
SQL1 = "SELECT SUM(Rate) AS Votes FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RSVotes = Conn.Execute(SQL1) 'Votes = rsVotes("Votes") if rsVotes.eof or rsVotes.bof then Votes = 0 else Votes = rsVotes("Votes") end if Set RSVotes=Nothing
SQL1 = "SELECT SUM(Rate) AS Votes FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RSVotes = Conn.Execute(SQL1) 'Votes = rsVotes("Votes") if rsVotes.eof or rsVotes.bof then Votes = 0 else Votes = rsVotes(0) end if Set RSVotes=Nothing
strSQL = "SELECT COUNT(*) FROM rates WHERE pictureID = " & rsPicture("ID") Set Rs = conn.Execute (strSQL) if rs.eof or rs.bof then count = 0 else count = Rs(0) end if Set RS=Nothing response.write "Count:" & Count & "<br>"
Jeg får desværre stadig ikke noget 0 ud af denne, hvis ikke der er nogle stemmer..:s
Hvad gør jeg?
SQL1 = "SELECT SUM(Rate) AS Votes FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RSVotes = Conn.Execute(SQL1) 'Votes = rsVotes("Votes") if rsVotes.eof or rsVotes.bof then Votes = 0 else Votes = rsVotes(0) end if Set RSVotes=Nothing
nielle: Det er korrekt, jeg vil have hvor mange der har stemt på pågældende, så vil jeg have den samlet sum af points(Rates) og så vil beregne gennemsnittet på disse.
Med det kode eksempel, så får jeg stadig ikke en værdi ud, hvis der ikke er nogle stemmer. Men derimod får jeg værdien "FALSK" udskrevet ved billeder hvor der er stemmer.
jeg har afkortet det lidt, så nu har jeg denne kode
SQL1 = "SELECT SUM(Rate),COUNT(*) FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RsVotes = Conn.Execute(SQL1) if rsVotes.eof or rsVotes.bof = "" then Votes = 0 else Votes = rsVotes(0) / rsVotes(1) end if
Votes = FormatNumber(Votes,1)
Men stadig samme problem, at jeg ikke kan få det 0 *suk*
nielle: Den har jeg prøvet, hvor jeg skrev følgende til "Med det kode eksempel, så får jeg stadig ikke en værdi ud, hvis der ikke er nogle stemmer. Men derimod får jeg værdien "FALSK" udskrevet ved billeder hvor der er stemmer."
SQL1 = "SELECT SUM(Rate),COUNT(*) FROM rates WHERE pictureID = " & rsPicture("ID") & "" Set RsVotes = Conn.Execute(SQL1) if rsVotes.eof or rsVotes.bof = "" then Votes = "0" else Votes = rsVotes(0) / rsVotes(1) end if
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.