지금까지 내가 올바르게하고 있다고 생각하지만 grade_points
을 올바르게 표시하는 것 같습니다. 아래에 표시되어 있습니다. 내 코드에 grade_points
이 올바르게 표시되도록 수정하려면 어떻게해야합니까?
PHP 및 MySQL을 사용하여 학생의 총 학점을 올바르게 표시하는 방법은 무엇입니까?
출력 데이터 여기
내 전류 출력한다 : 나는 출력하고자 여기
user_id Array ([1] => 1 [3] => 2)
rank Array ([0] => 1 [1] => 3)
grade_points Array ([0] => [1] =>)
users Array ([0] => 3 [1] => 2)
the rank of user_id 3 is #2
그리고이 무엇 :
user_id Array ([1] => 1 [3] => 2)
rank Array ([0] => 1 [1] => 3)
grade_points Array ([0] => 8 [1] => 5)
users Array ([0] => 3 [1] => 2)
the rank of user_id 3 is #2
16,
PHP & MySQL의 코드는 여기 내 PHP & MySQL의 코드입니다.
$i = 1;
$u = array();
$user = array();
$rank = array();
$gp = array();
$dbc = mysqli_query($mysqli,"SELECT SUM(grade_points) as p, grades.grade_points, assignment_grades.*, COUNT(*) as u, users_assignment.user_id
FROM users_assignment
LEFT JOIN grades ON users_assignment.user_id = grades.letter_grade
LEFT JOIN assignment_grades ON grades.id = assignment_grades.grade_id
GROUP BY users_assignment.user_id
ORDER BY p DESC");
if (!$dbc) {
print mysqli_error($mysqli);
} else {
while($row = mysqli_fetch_array($dbc)){
$u[$row['user_id']] = $i++;
$rank[] = $row['user_id'];
$user[] = $row['u'];
$gp[] = $row['p'];
}
}
echo 'user_id '; print_r($u); echo '<br />';
echo 'rank '; print_r($rank); echo '<br />';
echo 'points '; print_r($gp); echo '<br />';
echo 'users '; print_r($user);
echo "the rank of user_id 3 is" . $u[3];
MySQL의 테이블
CREATE TABLE assignment_grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
grade_id INT UNSIGNED NOT NULL,
users_assignment_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_assignment (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
assignment_content LONGTEXT NOT NULL,
grade_average VARCHAR DEFAULT NULL,
PRIMARY KEY (id)
);
TABLE DATA
assignment_grades
id grade_id users_assignment_id
15 15 35
16 16 35
17 17 33
등급
id letter_grade grade_points
15 C+ 3
16 A+ 5
17 A+ 5
users_assignment
id user_id assignment_content grade_average
32 1 some content NULL
33 1 some content A+
34 3 some content NULL
35 3 some content B+
36 1 some content NULL
와우 읽을 많은입니다 .. 그리고 귀하의 실제 질문이 무엇인지 잘 모르겠습니다. < – Jeriko
'grade_points '를 올바르게 표시 할 수 있도록 코드를 수정하는 방법이 궁금합니다. – codeMONKEY
과제에 가중치가 무엇인지 모른 채 어떻게해야합니까? 아니면 모두 같은 가치가 있습니까? 그리고 도대체 grade_average는 무엇입니까? –