Avatar billede floetti Nybegynder
20. oktober 2007 - 16:38 Der er 5 kommentarer og
1 løsning

Mysql skal tælle op og sortere

Hejsan alle,

Jeg har lavet en lille billede rating system, hvor brugere kan vælge 1 til 10. Der bliver sat en række ind i db sådan:

mysql_query("insert into image_rating (image,rating,gallery,folder,ownerid) Values ('".$_POST['image']."','".$_POST['score']."','".$_GET['gallery']."','".$_GET['folder']."','".$_GET['profile']."')") or die (mysql_error());

Så har jeg lavet en select sådan:

$best = mysql_query("Select image, folder, ownerid, SUM(rating) as rating, COUNT(*) as rows from image_rating group by image order by rating desc")or die (mysql_error());

Mit problem er bare, at den ikke sorterer ret. Den tager den med flest points tilsammens og ikke højeste gennemsnit. Det er sikkert den "order by" som skal arbejdes med, men jeg kan ikke finde ud af hvordan kriteriet skal se ud.

Kan nogen komme en løsning?
Avatar billede nielle Nybegynder
20. oktober 2007 - 16:54 #1
Brug AVG i stedet for sum:

$best = mysql_query(
"SELECT image, folder, ownerid, AVG(rating) AS rating, COUNT(*) AS rows
FROM image_rating
GROUP BY image
ORDER BY rating DESC") or die (mysql_error());
Avatar billede nielle Nybegynder
20. oktober 2007 - 16:55 #2
AVG står for avarage = gennemsnit.
Avatar billede floetti Nybegynder
20. oktober 2007 - 17:21 #3
yes, der var den sku ;) - Så ved man det til næste gang. Giver du svar, så giver jeg points :p
Avatar billede nielle Nybegynder
20. oktober 2007 - 17:24 #4
Svar :^)
Avatar billede floetti Nybegynder
20. oktober 2007 - 17:40 #5
lige et til, hvis jeg hæfter en anden tabel på foresprøgslen, hvordan kan jeg lave det COUNT(*) rigtigt?

Den vil ikke aceptere COUNT(image_rating.*) as rows... eller kan man det?
Avatar billede floetti Nybegynder
20. oktober 2007 - 18:30 #6
jeg fandt ud af det, lige meget.
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

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