Я пытаюсь получить звание определенного ученика из класса сотен, я хочу, чтобы я мог показать ранг учеников.Как отобразить студентский ранг из ста студентов, использующих PHP и MySQL?
Я пытаюсь получить звание ученика по классам и классам. Например, если student 1
имеет 2 A + оценки с общим количеством баллов 10 и student 2
имеет 3 B-оценки с общим количеством очков 1student 1
. Мне было интересно, как я смогу это сделать, используя PHP & MySQL?
Вот код PHP &, который у меня есть до сих пор.
$gp = array();
$dbc = mysqli_query($mysqli,"SELECT grades.*, homework_grades.*, users_homework.*
FROM grades
LEFT JOIN homework_grades ON grades.id = homework_grades.grade_id
LEFT JOIN users_homework ON homework_grades.users_homework_id = users_homework.id
WHERE users_homework.user_id = '$user_id'
AND users_homework.grade_average = 'A+'");
if (!$dbc) {
print mysqli_error($mysqli);
} else {
while($row = mysqli_fetch_array($dbc)){
$gp[] = $row['grade_points'];
}
}
echo array_sum($gp);
Вот мои таблицы MySQL.
CREATE TABLE homework_grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
grade_id INT UNSIGNED NOT NULL,
users_homework_id INT UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
letter_grade VARCHAR NOT NULL,
grade_points FLOAT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
CREATE TABLE users_homework (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
homework_content LONGTEXT NOT NULL,
grade_average VARCHAR DEFAULT NULL,
PRIMARY KEY (id)
);
Что вы можете сделать, это посмотреть, сколько оценок - количество числа оценок - у каждого ученика есть и порядок от этого Asc, а затем по фактическим пунктам. Пример: у student1 есть 2 A +, а student2 - 3B, таким образом, у обоих у них 10 баллов. Но у ученика только 2 класса, которые дали ему 10 очков, так что это означает, что студент должен иметь более высокий ранг. –