Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于第一个下拉框从DB中检索第二个下拉框的选项_Php_Html_Mysql - Fatal编程技术网

Php 基于第一个下拉框从DB中检索第二个下拉框的选项

Php 基于第一个下拉框从DB中检索第二个下拉框的选项,php,html,mysql,Php,Html,Mysql,我目前正在做一个小项目。我必须从数据库(MySQL)中检索一些数据,并将其作为选择(下拉框)插入网页。我用PHP编写的代码是: <?php // Connect to the db. require ('mysqli_connect.php'); // Make the query: $q = "SELECT employee_name from employee where dept_id=3 ORDER BY employee_id ASC"; // Run the query.

我目前正在做一个小项目。我必须从数据库(MySQL)中检索一些数据,并将其作为选择(下拉框)插入网页。我用PHP编写的代码是:

<?php
// Connect to the db.
require ('mysqli_connect.php');

// Make the query:
$q = "SELECT employee_name from employee where dept_id=3 ORDER BY employee_id ASC"; 

// Run the query.
$r = mysqli_query ($dbc, $q);

if ($r) // If it ran OK, display the records. 
{ 
     echo '<select name="employee_name">';

     // Fetch and print all the records:
     while ($row = mysqli_fetch_array($r)) 
     {
          echo '<option value="'.$row['employee_name'] . '>"'.$row['employee_name'] .'</option>';

     }
         echo "</select>";    

}

mysqli_free_result ($r); // Free up the resources.
mysqli_close($dbc); // Close the database connection.
?>

当我在MySQL控制台中执行查询时,它返回正确的输出。[这是五个名字的列表]

你能帮我找到错误吗?

使用以下方法:

if ($r = @mysqli_query ($dbc, $q))
{
    echo 'select ....
由于
$r
不同于
选择
查询中的
true

编辑

您正在关闭
每次迭代
时的
选择
标记。试着这样做:

if ($r = @mysqli_query ($dbc, $q))
{ 
     echo '<select name="employee_name">';
     // Fetch and print all the records:
     while ($row = mysqli_fetch_array($r)) 
     {
          echo '<option value="'.$row['employee_name'] . '>"'.$row['employee_name'] .'</option>';
     }
     echo "</select>";                         
//   ^
//   |__  Now the </select> is out of the loop
}
if($r=@mysqli\u查询($dbc,$q))
{ 
回声';
//获取并打印所有记录:
while($row=mysqli\u fetch\u数组($r))
{

回显“回显您的终端选择退出循环

 while ($row = mysqli_fetch_array($r)) 
 {
      echo '<option value="'.$row['employee_name'] . '>"'.$row['employee_name'] .'</option>';

 }
 echo "</select>";
while($row=mysqli\u fetch\u数组($r))
{

echo“如果您收到正确的输出,您会遇到什么错误?在PHP代码中,当我需要一个包含名称列表的下拉框时,我会得到一个没有内容的简单下拉框。为什么在mysqli_查询前面用@来抑制错误?听起来您返回的是一个空结果。如果没有任何错误,这就是o唯一似乎有意义的事情。@BarryDevSF:我停止了抑制错误。但是,没有错误,也没有输出。我不明白这是如何工作的。在if语句中运行???,它与现有代码有什么区别。即使进行了更正,我仍然会得到一个空的下拉框。我没有任何内容。哎呀。不是吗这是错误的。但是,我仍然只得到一个空的下拉框。请检查html页面上的下拉框,查看其中是否有任何数据。如果有,请尝试将所选内容添加到选项中。这就是我正在尝试的操作。我正在尝试将从db(通过查询)获得的数据插入下拉框中