webForumDet fria alternativet

sortera efter högsta snittet

4 svar · 215 visningar · startad av kittlos

kittlosMedlem sedan sep. 2002205 inlägg
#1

Jag har en tabell comments som är kopplad till varje artikel, som jag vill sortera högst snitt på variabeln grade. Dessutom vill jag bara sortera kommentarer på de artiklar som fått minst 5 kommentarer.

Jag har snott följande kod från min föregångare för att plocka ut snittbetyget för varje artikel (i php)

@$result = mysql_query("select ROUND(AVG(grade),1) from comments where article_id='$article_id'");
@$average_grade = mysql_result($result,0,"ROUND(AVG(grade),1)");

Men här sorteras inte efter högst snitt, och jag är också osäker på hur jag bäst filtrerar bort artiklar med mindre än 5 kommentarer.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
$result = mysql_query(
"select article_id, AVG(grade+0.0) as avgGrade 
 from comments 
 group by article_id
having count(*) >= 5 
order by avgGrade desc ") or die (mysql_error());
while ( $row = mysql_fetch_row($result)) {
echo $row["article_id"] . ":"  . $row["avgGrade"] . "<br>";
}

Varför har du @ i anropen?

kittlosMedlem sedan sep. 2002205 inlägg
#3

ska testa det.
Jag vet inte varför det är @, har som sagt snott koden. Har ställt frågan om @ i php-forumet. Känner mig hemskt okunnig just nu...

Alpha IIMedlem sedan maj 20002 993 inlägg
#4

@ framför en funktion gör att inga felmeddelanden skrivs ut.

/red. Ditt @ satt visst framför variabeln och inte funktionsanropet.

kittlosMedlem sedan sep. 2002205 inlägg
#5

Det funkade utmärkt!

124 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)