Avatar billede tzag_dk Nybegynder
26. marts 2004 - 14:50 Der er 15 kommentarer og
1 løsning

statistik antal stemmer

Hej.
Jeg forsøger at lave et hot or not system og er ved at lave statistik over stemmerne.
Hvor fx at der er stemt 7 flest gange på en profil, og der for skal "baren" for den være 100% høj.

Det skulle gerne se sådan her ud:

            |
|          | |  |
| |    | | | | | |
| | | | | | | | | |
--------------------
1 2 3 4 5 6 7 8 9 10

Min hotstemmer tabel ser sådan her ud:
id  hotbillederID  profilerID    stemmeID    point
-----------------------------------------------------
34  55              1            4          8
35  55              1            3          9
36  55              1            53          10
37  58              56            47          5
osv...

profilerID er den profil som stemmen tilhøre.
Håber at I kan se hvad det er at jeg vil :-)
Jeg kan ikke helt finde ud af det, har kikket en del her rundt på exp og har ikke kunne finde hoved og hale i det.

På forhånd tak!
// Rene
Avatar billede tubber Juniormester
26. marts 2004 - 15:24 #1
Noget ala det jeg har lavet på http://komogvind.zentasoft.dk øverst til højre ?
Avatar billede tzag_dk Nybegynder
26. marts 2004 - 15:24 #2
Jeg tænkte på om det ikke kunne være en ide at lave et billede på h:1 px, w:7 px og så lave en variabel højde på den?
Avatar billede tzag_dk Nybegynder
26. marts 2004 - 15:26 #3
ja noget alla det. Bare at der er en graf bjælke på
Avatar billede tubber Juniormester
26. marts 2004 - 15:50 #4
jo - det jeg har lavet er regnet i procent så det nemmeste ville nok være at lave enten 10 billeder hvor det ene er en px, det næst to osv......
eller lave et på en px. og så dele det i op i 10 dele så er en px 10%.....og så kan du jo lade den skrive ud for hver hvor mange procent.....eller over (vil lige sige det med at lave tekst ind over et billede ved jeg ikke hvordan man gør......

Finder lige koden til dig og så prøver jeg at lave et forslag til hvordan det kan gøres grafisk....
Avatar billede tzag_dk Nybegynder
26. marts 2004 - 15:52 #5
Tak for det :-)
Men der behøves ikke at være tekst ind over grafen!
Avatar billede tubber Juniormester
26. marts 2004 - 15:57 #6
Her er min kode:

<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("info.mdb")
    Sql = "SELECT count(*) as varFull_count FROM tblInfo"
    Set hent0 = conn.execute(sql)
    Sql = "SELECT count(*) as varMegetGodt FROM tblInfo WHERE dbSvar = 'Meget Godt'"
    Set hent1 = conn.execute(sql)
    Sql = "SELECT count(*) as varGodt FROM tblInfo WHERE dbSvar = 'Godt'"
    Set hent2 = conn.execute(sql)
    Sql = "SELECT count(*) as varLidtGodt FROM tblInfo WHERE dbSvar = 'Lidt Godt'"
    Set hent3 = conn.execute(sql)
    Sql = "SELECT count(*) as varOK FROM tblInfo WHERE dbSvar = 'OK'"
    Set hent4 = conn.execute(sql)
    Sql = "SELECT count(*) as varLidtDaarligt FROM tblInfo WHERE dbSvar = 'Lidt Dårligt'"
    Set hent5 = conn.execute(sql)
    Sql = "SELECT count(*) as varDaarligt FROM tblInfo WHERE dbSvar = 'Dårligt'"
    Set hent6 = conn.execute(sql)
    Sql = "SELECT count(*) as varMegetDaarligt FROM tblInfo WHERE dbSvar = 'Meget Dårligt'"
    Set hent7 = conn.execute(sql)
    Sql = "SELECT count(*) as varVedIkke FROM tblInfo WHERE dbSvar = 'Ved Ikke'"
    Set hent8 = conn.execute(sql)

    varTotal = hent0("varFull_count")
    varTalt1 = hent1("varMegetGodt")
    varTalt2 = hent2("varGodt")
    varTalt3 = hent3("varLidtGodt")
    varTalt4 = hent4("varOK")
    varTalt5 = hent5("varLidtDaarligt")
    varTalt6 = hent6("varDaarligt")
    varTalt7 = hent7("varMegetDaarligt")
    varTalt8 = hent8("varVedIkke")
    ialt1 = varTalt1/varTotal*100
    ialt2 = varTalt2/varTotal*100
    ialt3 = varTalt3/varTotal*100
    ialt4 = varTalt4/varTotal*100
    ialt5 = varTalt5/varTotal*100
    ialt6 = varTalt6/varTotal*100
    ialt7 = varTalt7/varTotal*100
    ialt8 = varTalt8/varTotal*100
%>

<TABLE>
    <TR>
        <TD ALIGN=RIGHT>
            <B>Antal Meninger:</B><BR>
            <HR>
            Meget Godt:<BR>
            Godt:<BR>
            Lidt Godt:<BR>
            OK:<BR>
            Lidt Dårligt:<BR>
            Dårligt:<BR>
            Meget Dårligt:<BR>
            Ved Ikke:
        </TD>
        <TD ALIGN=LEFT>
            <B><%= hent0("varFull_count")%></B><BR>
            <HR>
            <%= Round(ialt1,2)%>%<BR>
            <%= Round(ialt2,2)%>%<BR>
            <%= Round(ialt3,2)%>%<BR>
            <%= Round(ialt4,2)%>%<BR>
            <%= Round(ialt5,2)%>%<BR>
            <%= Round(ialt6,2)%>%<BR>
            <%= Round(ialt7,2)%>%<BR>
            <%= Round(ialt8,2)%>%<BR>
        </TD>
    </TR>
</TABLE>
Avatar billede tubber Juniormester
26. marts 2004 - 16:07 #7
<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("info.mdb")
    Sql = "SELECT count(*) as varFull_count FROM tblInfo"
    Set hent0 = conn.execute(sql)
    Sql = "SELECT count(*) as varMegetGodt FROM tblInfo WHERE dbSvar = 'Meget Godt'"
    Set hent1 = conn.execute(sql)
    Sql = "SELECT count(*) as varGodt FROM tblInfo WHERE dbSvar = 'Godt'"
    Set hent2 = conn.execute(sql)
    Sql = "SELECT count(*) as varLidtGodt FROM tblInfo WHERE dbSvar = 'Lidt Godt'"
    Set hent3 = conn.execute(sql)
    Sql = "SELECT count(*) as varOK FROM tblInfo WHERE dbSvar = 'OK'"
    Set hent4 = conn.execute(sql)
    Sql = "SELECT count(*) as varLidtDaarligt FROM tblInfo WHERE dbSvar = 'Lidt Dårligt'"
    Set hent5 = conn.execute(sql)
    Sql = "SELECT count(*) as varDaarligt FROM tblInfo WHERE dbSvar = 'Dårligt'"
    Set hent6 = conn.execute(sql)
    Sql = "SELECT count(*) as varMegetDaarligt FROM tblInfo WHERE dbSvar = 'Meget Dårligt'"
    Set hent7 = conn.execute(sql)
    Sql = "SELECT count(*) as varVedIkke FROM tblInfo WHERE dbSvar = 'Ved Ikke'"
    Set hent8 = conn.execute(sql)

    varTotal = hent0("varFull_count")
    varTalt1 = hent1("varMegetGodt")
    varTalt2 = hent2("varGodt")
    varTalt3 = hent3("varLidtGodt")
    varTalt4 = hent4("varOK")
    varTalt5 = hent5("varLidtDaarligt")
    varTalt6 = hent6("varDaarligt")
    varTalt7 = hent7("varMegetDaarligt")
    varTalt8 = hent8("varVedIkke")
    ialt1 = varTalt1/varTotal*100
    ialt2 = varTalt2/varTotal*100
    ialt3 = varTalt3/varTotal*100
    ialt4 = varTalt4/varTotal*100
    ialt5 = varTalt5/varTotal*100
    ialt6 = varTalt6/varTotal*100
    ialt7 = varTalt7/varTotal*100
    ialt8 = varTalt8/varTotal*100
%>

<TABLE>
    <TR>
        <TD ALIGN=RIGHT>
            <B>Antal Meninger:</B><BR>
            <HR>
            Meget Godt:<BR>
            Godt:<BR>
            Lidt Godt:<BR>
            OK:<BR>
            Lidt Dårligt:<BR>
            Dårligt:<BR>
            Meget Dårligt:<BR>
            Ved Ikke:
        </TD>
        <TD ALIGN=LEFT>
            <B><%= hent0("varFull_count")%></B><BR>
            <HR>
            <%
            'Første er med 1px som bruges igen og igen
            if Round(ialt1,2) < 5 Then
              &nbsp%>%<BR>
            if Round(ialt1,2) > 5 AND Round(ialt1,2) < 15 Then
                <IMG SRC="1px.gif">
            elseif Round(ialt1,2) > 15 AND Round(ialt1,2) < 25 Then
                <IMG SRC="1px.gif"><IMG SRC="1px.gif">
            elseif Round(ialt1,2) > 25 AND Round(ialt1,2) < 35 Then
                <IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif">
            'osv
            elseif Round(ialt1,2) > 95 Then
                <IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif"><IMG SRC="1px.gif">
            end if
            'her med 10 billeder
            if Round(ialt2,2) < 5 Then
              &nbsp%>%<BR>
            if Round(ialt1,2) > 5 AND Round(ialt1,2) < 15 Then
                <IMG SRC="1px.gif">
            elseif Round(ialt1,2) > 15 AND Round(ialt1,2) < 25 Then
                <IMG SRC="2px.gif">
            elseif Round(ialt1,2) > 25 AND Round(ialt1,2) < 35 Then
                <IMG SRC="3px.gif">
            'osv
            elseif Round(ialt1,2) > 95 Then
                <IMG SRC="10px.gif">
            end if
        </TD>
    </TR>
</TABLE>
Avatar billede tubber Juniormester
26. marts 2004 - 16:08 #8
Håber det kunne hjælpe lidt.......
Avatar billede tzag_dk Nybegynder
26. marts 2004 - 16:47 #9
jo... det tror jeg. Jeg vil lige forsøge :-)
Avatar billede tzag_dk Nybegynder
26. marts 2004 - 17:18 #10
Det virker som det skal :-)
Tak for hjælpen!

Svar?
Avatar billede tubber Juniormester
26. marts 2004 - 17:33 #11
Det har du så her :)
Og det var så lidt - skulle det være en anden egang :)
Avatar billede tubber Juniormester
26. marts 2004 - 17:34 #12
hov husk at lukke for conn du åbner jo en del :) husk at lukke dem
Avatar billede nicklasb Nybegynder
26. marts 2004 - 17:40 #13
du burde i stedet lave det i en forspørgelse, og så bare lave noget "group by" på svarmulighederne, og så tælle sammen hvor mange der var med noget count eller lignende..!
Det skåner alle serverne en STOR del!
Der er jo i det eksempel du giver der, intet forskel på de forskellige tals værdier.. Og havde der været havde det også klart været lettere at ordne via noget php eller asp!
Avatar billede tubber Juniormester
26. marts 2004 - 17:57 #14
øm det er asp.....og den laver en COUNT på totalen og beregner ud fra det......men igen kommer det vel an på hvor mange muligheder der er, som jeg bruger det i min er det vel lige meget.....om det er "group by" for der kommer ikke flere end dem der er.........

og virker det for ham er det vel også godt nok ? og desuden er det lidt svært at lave noget optimeret når han ikke giver noget kode eller noget.......

Har du en bedre løsning så kom med den :) jeg vil da også gerne se den :) så kan man jo lærer lidt :)
Avatar billede nicklasb Nybegynder
26. marts 2004 - 18:25 #15
gider ikke sidde og skrive kode til brugere her inde mere.. men vil gerne give tip..
og lad derfor være med at afvise dem så hurtigt!
Det var KUN som en hjælp til både jer, men også de servere i kører på!!
Og, ja.. du laver en count.. Men ikke kun én.. du henter faktisk RIMLIG mange gange data fra din database.. og langt størstedelen af dataene er ligegyldige, for at vise det resultat du viser..!
Det kunne laves i en enkelt forspørgelse, hvor du i stedet brugte din sql-server til at beregne det på..
Avatar billede tubber Juniormester
26. marts 2004 - 18:34 #16
Nu har jeg ikke lige en sql-server.......
og hvordan tæller jeg flere forskellige ting i en count ?

og så vil jeg sige at hvis du ikke vil komme med kodeeksempler håber jeg da ikke du bruger tid på at besvare et spg jeg stiller da jeg ikke vil kunne bruge det til noget.......
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