У меня есть запрос, который дает правильные результаты, после этого я могу отображать записи, но не в том формате, который мне нужен. Рабочим форматом было «Имя ученика, класс». Я хотел бы показывать имя ученика только один раз подряд, а затем показывать каждую оценку. У меня есть код, который теряет данные при отображении таблицы.
1-й ряд теряет 0 записей.
2-й ряд теряет 1 запись.
3-й ряд теряет 2 записи.
Этот шаблон продолжается до тех пор, пока у запроса больше не будет данных для извлечения У меня есть следующий код.
$sql = "SELECT CONCAT(s.last_name, ', ',s.first_name) AS 'Student Name',g.grade
FROM `grades` g
JOIN assignments a ON a.assignment_id=g.assignment_id
JOIN teacher t ON t.teacher_id=a.teacher_id
JOIN students s ON s.student_id=g.student_id
WHERE a.teacher_id='" . $_SESSION['userId'] . "'
AND a.subject_id='2'
ORDER BY s.last_name ASC";
$sqlCount = "SELECT COUNT(assignment_name)
FROM `assignments`
WHERE subject_id = '2'
AND teacher_id= '" . $_SESSION['userId'] . "';";
//gets the number of assignments so it can display the table
$resultCount = mysqli_query($connection, $sqlCount);
$countNum = mysqli_fetch_assoc($resultCount);
$counter = $countNum['COUNT(assignment_name)'];
$result = mysqli_query($connection, $sql);
while($row2 = mysqli_fetch_assoc($result)){
if($counter == 0){
echo"<tr><td>{$row2['Student Name']}</td>";
echo"<td>{$row2['grade']}</td>";
$counter++;
} else if($counter < $countNum['COUNT(assignment_name)']){
echo"<td>{$row2['grade']}</td>";
$counter++;
} else{
$counter = 0;
echo"</tr>";
}
}
Вот мой желаемый формат вывода. Мне пришлось сделать ссылку, потому что моя учетная запись была новой
![enter image description here](https://i.stack.imgur.com/Unhbm.png)