【发布时间】:2018-08-01 10:34:17
【问题描述】:
我正在学习 PHP,我们昨天有一个项目。 我需要建立一个管理学校的系统。 我需要创建课程和学生,并且我需要能够将学生分配到多个课程。 我需要能够显示每门课程的学生列表,如果我选择一个学生,我需要显示他列出的所有课程。 我的问题是如何正确规划数据库以便能够显示所有这些数据。 我想我需要在每门课程中使用一组学生 ID,但我不知道从哪里开始以及如何开始(我们没有学习它......就像许多其他东西一样......)。
我们将不胜感激。
新内容:
我创建了 3 个表。 1. 学生 2. 课程 3. 课程学生(其中有: - ID - 学生卡 -课程ID )
我需要帮助编写一个查询,以计算每门课程列出了多少。
这是我的代码:
<table id="courses" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th class="text-center">#</th>
<th class="text-center">שם הקורס</th>
<th class="text-center">כמות סטודנטים בקורס</th>
</tr>
</thead>
<tbody>
<?php
$counter=1;
$sql = "SELECT * FROM courses";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){
echo '
<tr class="text-center">
<td>'. $counter .'</td>
<td>'. $row['coursename'] .'</td>
<td>';
$sqlstudents = "SELECT * FROM coursestudent INNER JOIN students ON coursestudent.studentid=students.studentid WHERE courseid='$counter'";
$resultstudents = mysqli_query($conn, $sqlstudents);
$rowcount=mysqli_num_rows($resultstudents);
echo $rowcount.'</td><tr>';
$counter++;
}
?>
</tbody>
</table>
每门课程返回 0。
【问题讨论】:
-
这里不适合这类问题。人们希望在格式良好的问题中看到您尝试过的内容(您的代码)。帮助他们帮助你。请拨打stack overflow tour了解更多关于本网站的信息,并阅读how to ask。
-
StackOverflow 并不是真正适用于这样的问题。但我会试着把你推向正确的方向。您正在寻找的是多对多关系(一个学生可以有多个课程,一个课程可以有多个学生)。为此,您可以使用连接表。基本上,您将有 1 个学生表,1 个课程表和第三个将学生 ID 链接到课程 ID 的表。
-
阅读 MySQL 中的规范化stackoverflow.com/a/1258776/2469308
标签: php mysql arrays categories