互いにリンクする 3 つのテーブルがあります。私がやりたいことは、クラスのすべての学生のレポート カードを生成することです。
テーブルの学生情報
name sex age students_ID
--------- --- --- -----------
Kinsley M 12 1
Michael m 12 2
Rhianna f 22 3
テーブルスコアパネル
1stCA 2ndCA exam students_ID subjectID
----- ----- ---- ----------- ---------
23 15 42 1 1
10 12 7 1 2
43 15 62 1 3
10 12 27 2 1
10 12 57 2 2
23 15 12 2 3
11 12 27 3 1
04 12 57 3 2
13 25 12 3 3
表の件名
subjectname subjectID
----------- ---------
english 1
maths 2
biology 3
結果は次のようになります。
NAME KINSLEY
SEX M
AGE 12
とレポートカードが続きます
subject 1stCA 2ndCA EXAM
--------- ----- ----- ----
english 23 15 42
maths 10 12 7
Biology 43 15 62
...など、すべての生徒に
すべての代わりに取得された 1 つの科目とスコアのみ
<?php
include("connect.php");
$generate="SELECT students_info.name, subject.subjectname, scores_panel.1stCA, scores_panel.2ndCA, scores_panel.EXAM
FROM
students_info
LEFT JOIN
scores_panel
ON students_info.students_ID=scores_panel.students_ID
LEFT JOIN
subject
ON
subject.subjectID=scores_panel.subjectID
GROUP BY scores_panel.subjectID ";
$fetch=mysql_query($generate);
while($row=mysql_fetch_array($fetch)or die(mysql_error()))
{
?>
**NAME:**
<?PHP echo $row['name']; ?>
subject 1stCA 2ndCA EXAM
----------
<?PHP echo $row['subjectname']; ?>
<?PHP echo $row['1stCA']; ?>
<?PHP echo $row['2ndCA']; ?>
<?PHP echo $row['EXAM']; ?>
THIS IS YOUR REPORT CARD
<?PHP } ?>
機能しますが、生徒ごとに 1 つの科目しか表示されません。
例
NAME Rhianna
SEX F
AGE 22
とレポートカードが続きます
subject 1stCA 2ndCA EXAM
--------- ----- ----- ----
english 11 12 27
名前 キンズリー 性別 M 年齢 12
とレポートカードが続きます
subject 1stCA 2ndCA EXAM
--------- ----- ----- ----
english 23 15 42
このようなものの代わりに:
NAME KINSLEY
SEX M
AGE 12
とレポートカードが続きます
subject 1stCA 2ndCA EXAM
--------- ----- ----- ----
english 23 15 42
maths 10 12 7
Biology 43 15 62
NAME Rhianna
SEX F
AGE 22
とレポートカードが続きます
subject 1stCA 2ndCA EXAM
--------- ----- ----- ----
english 11 12 27
maths 04 12 57
Biology 13 25 12
...など、すべての学生に。
あなたの助けに感謝します
ありがとう