我想创建时间表。需要从复选框中的数据库中获取主题名称,并在选择下拉列表中从数据库中获取教师名称。我使用以下代码,但它只给我一行。我不知道我在哪里做错了。
<table width="100%">
<tr>
<th>Select Subject</th>
<th>Period Time</th>
<th>Teacher</th>
</tr>
<?php
$query = mysqli_query($conn, "select * from subjects");
while ($row = mysqli_fetch_array($query))
{
$subject_id = $row['subject_id'];
$subject_name = $row['subject_name'];
echo "<tr>
<td><input type='checkbox' name='subject_id' value='$subject_id'> $subject_name</td>
<td>
<div class='form-group'>
<select name='class_time' class='form-control'>
<option>10:00</option>
<option>11:00</option>
<option>12:00</option>
<option>01:00</option>
</select>
</div>
</td>
<td>
<div class='form-group'>
<select name='employee_id' class='form-control'>";
$query = mysqli_query($conn, "select * from employees where designation = 'Teacher' OR designation = 'Principal'");
while ($row = mysqli_fetch_array($query))
{
$employee_id = $row['employee_id'];
$employee_name = $row['employee_name'];
echo "
<option>$employee_name</option>";
}
echo "</select></div>
</td>
</tr>";
}
?>
</table>
答案 0 :(得分:2)
您遇到的问题是两个查询都使用相同的变量名$query
,因此第二个会覆盖第一个。尝试使用$empQuery
或其他内容替换第二个..($row
相同 - &gt; $empRow
)