私は、学生に関するさまざまな情報を各行に表示する 12 列のテーブルを含む Web サイトに取り組んでいます。PASS
、FAIL
、またはBLANK
学生がまだ試験を書いていない場合はそのままにする13番目の列を追加しようとしています。
私の MSSQL データベースには 2 つのテーブルがあります。T1 (Students) には、学生に関するさまざまな情報が含まれており、Web サイト テーブルが学生ごとに行をグループ化するために使用している keyId (主キー) があります。生徒が試験を書くと、同じテーブルに生徒番号が割り当てられます (そうでない場合NULL
)。この学生番号は、2 番目のテーブルの主キーであり、値PASS
またはFAIL
関連付けられています。
編集: 2 番目の表の合格または不合格のデータは、教師が生徒番号を入力して合格または不合格を選択する別のタブの Web サイトから挿入されます。
Status 列のデータ型 (合格または不合格) は enum(string) P & F です。
<?php
$objMSSQL = new cMSSQL();
//[...]
for($i = 0; $i < $noOfRows; $i++)
$noOfRows = $objMSSQL->getAffectedRows();
//[...]
$examStatus = $objMSSQL->getTable("
SELECT *
FROM [Students]
INNER JOIN [Exams] ON Exams.studentNo = Students.studentNo
")
if ($examStatus[$i][Status] == 'PASS')
echo '<td width="80px"> PASS </td>';
elseif ($examStatus[$i][Status] == 'FAIL')
echo '<td width="80px"> FAIL </td>';
else
echo '<td width="80px"></td>';
?>
私は解決策を際限なく探してきましたが、ウェブサイトに正しく表示されない理由がわかりません (合格または不合格が一見ランダムに表示され、何も空白のままになっています)。