Avatar billede martin86 Nybegynder
20. september 2003 - 13:23 Der er 13 kommentarer og
1 løsning

find % værdien ved udtræk af afstemning

Hej jeg har nogle problemer med at finde % værdien ved div. udtræk fra min Sql database.....

Håber i kan hjælpe..
---------------------------------------------------------
<%SQL05 ="Select * from hhb_poll where emne='Siden' order by id"
Set poll = objConn.Execute(SQL05)

do while poll.eof=false

Sql = "SELECT count(*) as Found from hhb_poll where stemmeid > 0"
Set stemme =  objConn.Execute(SQL)
stemmerialt = stemme("found")

Sql = "select * from hhb_poll where stemmeid='"& id &"'"
Set e2000 =  objConn.Execute(Sql)
Set antal = Server.CreateObject("ADODB.Recordset")
antal.open Sql, objConn, 3
stemme = antal.RecordCount

Procent = stemme/stemmerialt*100
%>

<%=poll("value")%> <img src="gfx/procent.gif" width="<%=Procent%>" height="10"><br>

<% poll.MoveNext
Loop %>

får ingen fejl bortset fra at <%=Procent%> bliver = 83.333

_Martin
Avatar billede Slettet bruger
20. september 2003 - 13:25 #1
Og er det forkert?
Avatar billede eagleeye Praktikant
20. september 2003 - 13:27 #2
Så brug enten round eller formatnumber hvis du vil havde det med et bestem antal decimaler??
Avatar billede eagleeye Praktikant
20. september 2003 - 13:28 #3
Sådan her med 1 decimal efter kommaet:
<%=FormatNumber(Procent,1)%>

eller mener du selve udregningen er forkert?
Avatar billede martin86 Nybegynder
20. september 2003 - 13:32 #4
hov ja selve udregningen er forkert ....
Avatar billede eagleeye Praktikant
20. september 2003 - 13:34 #5
Prøv sådan her så med () omkring divisionen:

Procent = (stemme/stemmerialt)*100
Avatar billede eagleeye Praktikant
20. september 2003 - 13:37 #6
Hvad er de to tal stemme og stemmerialt ??
og hvad skulle det give, sådan ca??

Den føste SQL:
SQL05 ="Select * from hhb_poll where emne='Siden' order by id"

Har du en WHERE emne='Siden'  på
Det er ikke med i de to næste eksvis denne hvor du tæller det totale antal:
Sql = "SELECT count(*) as Found from hhb_poll where stemmeid > 0"
Avatar billede martin86 Nybegynder
20. september 2003 - 13:40 #7
det er 1 tabel.

med kolonnerne: id, stemmeid, emne, value..

sådan ser min tabel ud... der er afgivet 6 stemmer de andre er stemmemuligheder.....


id  stemmeid      emne        value 
1      0          Siden      Den er for sej
2      0          Siden      Den er da meget flot
3      0          Siden      Den er middel
4      0          Siden      Den er der
5      0          Siden      Stinker mere end noget grimt
13    1   
14    1   
17    1   
18    1   
19    4   
20    1   

er dettil at forstå liat svært at forklare
Avatar billede eagleeye Praktikant
20. september 2003 - 13:44 #8
med det eks så bliver:
stemmerialt = 6
stemmeid=1  Giver  stemme = 5

(5/6)*100  = 83.3333

Så det passer perfekt ;)
Avatar billede eagleeye Praktikant
20. september 2003 - 13:49 #9
Er det fordi du mener det skal være et komma og ikke punktum efter 83?
Så skal du bare sætte denne linje ind så den bruger , som , og . som ,:

<% Session.LCID = 1030 %>
Avatar billede martin86 Nybegynder
20. september 2003 - 13:49 #10
ja men det er jo kun hvis stemmeid = 1

jeg skal have vist alle 5 værdier....
Avatar billede eagleeye Praktikant
20. september 2003 - 13:53 #11
Så prøv at rette din kode til dette , der er tilføjer denne linje:
  id = poll("id")



<%SQL05 ="Select * from hhb_poll where emne='Siden' order by id"
Set poll = objConn.Execute(SQL05)

do while poll.eof=false

  Sql = "SELECT count(*) as Found from hhb_poll where stemmeid > 0"
  Set stemme =  objConn.Execute(SQL)
  stemmerialt = stemme("found")

  id = poll("id")

  Sql = "select * from hhb_poll where stemmeid='"& id &"'"
  Set e2000 =  objConn.Execute(Sql)
  Set antal = Server.CreateObject("ADODB.Recordset")
  antal.open Sql, objConn, 3
  stemme = antal.RecordCount

  Procent = stemme/stemmerialt*100
%>

  <%=poll("value")%> <img src="gfx/procent.gif" width="<%=Procent%>" height="10"><br>

<% poll.MoveNext
Loop %>
Avatar billede martin86 Nybegynder
20. september 2003 - 13:57 #12
hardcore problem løser.....

Kanonkugle mange tak for hjælpen..

_Martin
Avatar billede nielle Nybegynder
20. september 2003 - 14:02 #13
<%
SQL = "SELECT COUNT(*) AS StemmerIalt WHERE StemmeId>0"
set rs = Conn.Execute(SQL)
StemmerIalt = rs("StemmerIalt")

SQL = "SELECT StemmeId, COUNT(*) AS StemmerIalt_ForDetteStemmeId FROM Hhb_poll WHERE StemmeId>0 GROUP BY StemmeId, ORDER By StemmeId"
set rs = objConn.Execute(SQL05)

do while not rs.eof
  StemmerIalt_ForDetteId = rs("StemmerIalt_ForDetteStemmeId")
  Procent = StemmerIalt_ForDetteId/StemmerIalt * 100 %>
<% =rs("StemmeId")%> <img src="gfx/procent.gif" width="<% =Procent %>" height="10"><br>
<%
  rs.MoveNext
loop %>
Avatar billede nielle Nybegynder
20. september 2003 - 14:03 #14
Rent databasemessigt er det noget rod at blade afstemnings-mulighederne og afstemnings-resultatet sammen.
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