【发布时间】:2015-11-29 11:51:06
【问题描述】:
我正在构建一个考试管理网站,其中一个页面用于将学生添加到课程中。我有一个学生编号的下拉菜单(从表中获取值),但是我想这样做,以便当老师从下拉菜单中选择学生编号时,该学生的姓名和专业会出现在下表中.我有几乎所有的代码,但我似乎无法让它工作。现在的方式是显示表头,但不显示任何行。
- 错误始终出现在我声明 $sql1 和 $sql2 的行中,并根据我在语句中定义条件的方式而有所不同。
我的下拉菜单的代码:(工作正常)
<label class="control-label" for="number">Student Number</label>
<?php
$sql = "SELECT number FROM students";
$result = $conn->query($sql);
echo "<select class=".'"form-control"'.' id="number" name="number" for="number">';
while ($row = $result->fetch_assoc()) {
echo '<option value="' . $row['number'] . '">' . $row['number'] . "</option>";
}
echo "</select>";
?>
我的表格的代码:(仅显示表格的头部,这是我在移动代码并出现转换错误等之后得到的最好的)
- 错误始终出现在我声明 $sql1 和 $sql2 的行中,并根据我在语句中定义条件的方式而有所不同。
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Major</th>
</tr>
</thead>
<tbody>
<?php
$sql1 = "SELECT name FROM students WHERE number='$row'";
$result1 = $conn->query($sql1);
$value = $result1->fetch_object();
$sql2 = "SELECT major FROM students where number='$row'";
$result2 = $conn->query($sql2);
$value1 = $result2->fetch_object();
echo "<tr>
<td>".$value."</td>
<td>".$value1."</td>
</tr>";
?>
</tbody>
</table>
感谢大家的帮助!!
【问题讨论】:
-
"当老师从下拉菜单中选择学号时" - 因此,此时向网络服务器发送一个新请求,以获取与当前选择的学生证?(!)。不管请求是否由同一个脚本处理,它都是一个新实例,前一个实例的所有变量都消失了,脚本只能使用客户端发送的 this 新请求(和会话数据等等...) ->
$rowin"SELECT name FROM students WHERE number='$row'"是什么? -
这决定了表格行中出现的内容。它应该显示从下拉菜单中选择的学生的姓名。语法可能是错误的,但我不知道如何处理它。对不起,我是个新手,不明白请求是如何工作的。