Ik heb een soort systeem gemaakt waarbij je kan stemmen. Die stemmen worden dan uit de tabel tutorials_votes gehaald.
Hier zit echter maar 1 stem in en dit voor het 5e record van de tutorials. Het volgende record krijgt ook automatisch 5 punten terwijl dit niet in de tabel votes staat. Heel raar.
je hebt allemaal fetch-es in whiles staan, haal je 1 regel op, of meerdere? Een while is namelijk voor meerdere regels, maar daar is je code niet geschikt voor (nu krijgt $id etc altijd de laatste waarde uit de query)
Binnen de 1e while haal ik alle tutorials op. Dan zou ik vervolgens voor elke tutorial alle stemmen moeten optellen en het gemiddelde berekenen, wat dit doet volgens mij.
Ik heb 6 records in de tabel tutorials en enkel op record 5 is er gestemd. Als ik dit echo krijg ik het volgende te zien:
$qu = 'SELECT post, avg(grade) AS gem FROM tutorials_votes GROUP BY post HAVING post="'.$id.'"';
$re = mysql_query($qu) or die(mysql_error());
while($j = mysql_fetch_array( $re )) {
$gem = $j['gem'];
}
$gem = ceil($gem);
echo '<tr><td>'.$gem.'</td></tr>';
$qu='SELECT post, avg(grade) AS gem FROM tutorials_votes GROUP BY post HAVING post="'.$id.'"';
en nogmaals, je hebt een while, maar $gem zal altijd de laatste waarde overnemen, omdat je m in die while steeds overschrijft. Elk while rondje krijgt ie opnieuw je $fetch waarde