PHP/MYSQL - 从下拉菜单中获取数据库值,然后放入同一页面的表中

标签 php html mysql mysqli

我正在构建一个考试管理网站,我正在开发的页面之一用于将学生添加到类(class)中。我有一个学生编号的下拉菜单(从表格中获取值),但是我想这样做,以便当老师从下拉菜单中选择学生编号时,该学生的姓名和专业会出现在下表中。我几乎拥有它的所有代码,但我似乎无法使其工作。现在的方式是显示表格的头部,但不显示任何行。

  • 错误始终出现在我声明 $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>

感谢大家的帮助!!

最佳答案

在我给出完整的答案之前,我必须提醒您,您的代码中存在一些逻辑错误。

  1. 您的页面如何“知道”用户从 select 中选择了某个选项?您也许应该拦截该事件并使用异步机制响应该事件,例如通过 AJAX。

  2. 无论如何,当您只需一个查询就可以完成时,就无需运行两个查询:

    SELECT name, major FROM students WHERE number = ...
    

一旦您描述了如何解决问题 1,我们就可以继续讨论完整的解决方案。

关于PHP/MYSQL - 从下拉菜单中获取数据库值,然后放入同一页面的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33982455/

相关文章:

php - 将 PHP GET 发送到另一个页面不起作用

html - 使一个 div 填充具有未指定尺寸的表格单元格的整个宽度和高度

mysql - 如何在进行内部联接之前合并两个表?

javascript - 在 javascript src 属性中定义 php 文件是什么意思?

php - 如何在codeigniter中从mysql获取int字段名称的值?

javascript - 按钮上的背景图像增加了边距

Outlook 2011 的 HTML 电子邮件

mysql - 合并两个表并将结果相加

php - 修改从mysql中选择数据

php - wordpress获取mysql表