$q = mysql_query("
SELECT
n.id,
n.firstname,
n.lastname,
n.email,
g.gradeone,
g.gradetwo,
g.gradethree,
((g.gradeone + g.gradetwo + g.gradethree) / 3) AS average
FROM
newstudent n JOIN grades g USING (id)
ORDER BY
n.id
") or die (mysql_error());
Versuchen Sie, diese Abfrage zu verwenden und dann die Ergebnisse in einer einzigen Schleife auszugeben - entfernen Sie das
while ($r = mysql_fetch_array($avg))
mit seinen geschweiften Klammern.
Hinterlassen Sie so etwas:
....
print "<td>$row['gradetwo']</td>";
print "<td>$row['gradethree']</td>";
print "<td>$row['average']</td>";
....