Avatar billede jenskromann Nybegynder
13. november 2006 - 00:42 Der er 6 kommentarer

Regner forkert i top 10 liste

Hejsa. Denne giver noget helt forkert udtræk.

Den skal hente TOP 10, med flest stemmer i mit hot or not system

Vi siger f.eks der er 2 personer der har stemt på billedet "hej.jpg". Den ene person gav den karakteren fra (0-5) 3 og den anden person gav den 2

Så har jeg 2 felter i min tabel (hotornotstem) den ene hedder ialt, og den anden stemmer.

Nu vil stemmer have 5, da den ene person stemte 3 og den anden 2 ( 3+2=5)

i alt er så 2, fordi der er 2 der har stemt.

Men jeg får hele tiden karakteren (5.00) ud fra denne. Hvorfor?

SELECT (stemmer / ialt) AS gns, ialt AS stemmerialt,  brugere.brugernavn AS navnet, billedgalleri.billede AS billed
FROM hotornotstem, brugere, billedgalleri
WHERE billedgalleri.brugernavn = brugere.brugernavn
AND brugere.koen = 'd'
ORDER BY gns DESC LIMIT 0,10

håber en kan hjælpe. Spørg gerne
Avatar billede coderdk Praktikant
13. november 2006 - 01:19 #1
Jeg tror der er noget galt med din join. Hvordan hænger hotornotstem sammen med billedgalleri? Med "billedid" ? For så ville jeg lave query'en om til:

    SELECT
        (h.stemmer / h.ialt) AS gns, h.ialt AS stemmerialt
        ,b.brugernavn AS navnet
        ,g.billede AS billed
    FROM
        hotornotstem AS h
    INNER JOIN
        billedgalleri AS g
    ON
        h.billedid = g.billedid
    INNER JOIN
        brugere AS b
    ON
        g.brugernavn = b.brugernavn
    WHERE
        b.koen = 'd'
    ORDER BY
        gns DESC
    LIMIT
        0,10
Avatar billede jenskromann Nybegynder
13. november 2006 - 01:57 #2
Den skal hente dem med top 10 karakter fra "hotornotstem". Hvor den skal ind og finde brugernavnet i "billedgalleri". Så skal den finde "navn" i "billedgalleri" og tjekke om "koen" er sat til "d" i tabellen "brugere"
Avatar billede coderdk Praktikant
13. november 2006 - 04:14 #3
Jeg gentager lige mig selv: Jeg tror der er noget galt med din join. Hvordan hænger hotornotstem sammen med billedgalleri?
Avatar billede jenskromann Nybegynder
13. november 2006 - 12:05 #4
hotornotstem tabellen har jo kolonnen "billed"
så skal den ind i "billedegalleri" tabellen og tjekke om "billed" fra hotornotstem er "billede" i "billedgalleri". Så skal den finde "navn" i billedgalleri og tjekke om kønnet enten er p eller d i tabellen brugere.
Avatar billede coderdk Praktikant
13. november 2006 - 12:14 #5
SELECT
        (h.stemmer / h.ialt) AS gns, h.ialt AS stemmerialt
        ,b.brugernavn AS navnet
        ,g.billede AS billed
    FROM
        hotornotstem AS h
    INNER JOIN
        billedgalleri AS g
    ON
        h.billed = g.billed
    INNER JOIN
        brugere AS b
    ON
        g.brugernavn = b.brugernavn
    WHERE
        b.koen = 'd'
    ORDER BY
        gns DESC
    LIMIT
        0,10

går jeg ud fra, så
Avatar billede miqe Nybegynder
15. november 2006 - 23:07 #6
"Men jeg får hele tiden karakteren (5.00) ud fra denne. Hvorfor?"
Er felterne i din db sat som integers eller floats?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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