次のように表されたデータを使用して、テーブルを作成しようとしています。
Skills | Project #1 | Project #2 | Project #3
Skill #1 Grade Grade Grade
Skill #2 Grade Grade Grade
基本的に、Project で始まる列は動的であり、SQL クエリによって取得され、配列に格納されます。
スキルも動的で、配列に格納されます。そして、各スキルの成績は、それが含まれるプロジェクトで受け取った成績を反映する必要があります。
このデータはすべて DB で利用できます。スキル、プロジェクト、成績を 1 つのクエリで取得できます。
私はこれを機能させる方法を理解しようとしています。今のところ、スキルとプロジェクトを表示する方法を理解することしかできません. しかし、それらを適切なグレードに一致させる方法がわかりません。これが私が持っているものです
$sql = "select skills.name as skillName, projects.name, projects_assessments.assessment from skills
INNER JOIN projects_assessments
ON skills.id = projects_assessments.skillID
INNER JOIN projects
ON projects_assessments.projectID = projects.id
WHERE projects_assessments.studentID = '{student}'
AND skills.teacher = '{teacher}'";
$result = mysql_query($sql) or die (mysql_error());
while($row=mysql_fetch_array($result)) {
$projects[] = $row['name'];
$skills[] = $row['skillName'];
}
echo "<table><tr><th>Skill</th>";
$projects = array_unique($projects);
foreach($projects as $project) {
echo "<th>$project</th>";
}
echo "
</tr>";
foreach($skills as $skill) {
echo "<tr><td>$skill</td></tr>";
}
echo "
</table>
これは以下を返します:
Skills | Project #1 | Project #2 | Project #3
Skill #1
Skill #2
本質的に今私が必要としているのは、各スキルの等級を一致させることです。そのデータは $row['assessment'] に保存されます。
助けてくれてありがとう!