如何在php中使用下拉列表框创建从mysql数据库获取数据的动态html表单?

如何在php中使用下拉列表框创建从mysql数据库获取数据的动态html表单?,php,html,Php,Html,我已经在html中创建了一个带有下拉列表框的表单,其中包含php文件中的静态值,现在我需要用mysql数据库中的数据填充这些下拉列表框。我用php编写了一个函数,从mysql表中检索数据。由于我是php新手,我不知道如何从html调用php函数。可以像调用JavaScript函数一样调用php函数吗 这是我的HTMl代码 <div id="machinelog"> <form id="intermediate" name="inputMachine" method="

我已经在html中创建了一个带有下拉列表框的表单,其中包含php文件中的静态值,现在我需要用mysql数据库中的数据填充这些下拉列表框。我用php编写了一个函数,从mysql表中检索数据。由于我是php新手,我不知道如何从html调用php函数。可以像调用JavaScript函数一样调用php函数吗

这是我的HTMl代码

 <div id="machinelog">
    <form id="intermediate" name="inputMachine" method="post">

    <select id="selectDuration" name="selectDuration"> 
      <option value="1 WEEK" >Last 1 Week</option>
      <option value="2 WEEK" >Last 2 Week </option>
      <option value="3 WEEK" >Last 3 Week</option>
    </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


    <select id="selectMachine" name="selectMachine"> 
        <option value="M1" >Machine 1</option>
        <option value="M2" >Machine 2</option>
        <option value="M3" >Machine 3</option>
    </select>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


<input id="Button" class="button" type="submit" value="Submit" />
</form> 
</div>

为什么要创建函数?就这样做吧

<?php
$query = "SELECT * FROM ...."; //Write a query
$data = mysqli_query($connect, $query);  //Execute the query
?>
<select>
<?php
while($fetch_options = mysqli_fetch_array($data)) { //Loop all the options retrieved from the query
?>
 //Added Id for Options Element 
<option id ="<?php echo $fetch_options['id']; ?>"  value="<?php echo $fetch_options['name']; ?>"><?php echo $fetch_options['name']; ?></option><!--Echo out options-->

<?php
}
?>
</select>

//添加了选项元素的Id

您可以编写与此类似的函数:

function display_dropdown($id){
  //We need to get the dropdown option from the database
  $sql = 'SELECT machine_name FROM your_table';
  $result =   mysql_query($sql) or die ('Query in display_dropdown failed:'. mysql_error());
  echo '<select name="'.$id.'" id="'.$id.'">';
  while($row = mysql_fetch_array($result,MYSQLI_ASSOC)){
    echo '<option value="'.$row{machine_name}.'">
            '.$row{machine_name}.'</option>';
  }
  echo '</select>';
  echo '</td>';
}
功能显示下拉菜单($id){
//我们需要从数据库中获取下拉选项
$sql='从您的_表中选择机器_名称';
$result=mysql\u query($sql)或die('display\u下拉列表中的查询失败:'.mysql\u error());
回声';
而($row=mysql\u fetch\u数组($result,MYSQLI\u ASSOC)){
回声'
“.$row{machine_name}.”;
}
回声';
回声';
}

为了学习如何生成和调用php函数,Alien先生,您的代码解决了我用MsqDb中的动态值填充选项的问题。我为Options元素添加了Id,它是MySql的UUID,用于基于该UUID检索值。如何在javascript中访问该动态id。我不能使用getElementById,因为我需要指定Id。
function display_dropdown($id){
  //We need to get the dropdown option from the database
  $sql = 'SELECT machine_name FROM your_table';
  $result =   mysql_query($sql) or die ('Query in display_dropdown failed:'. mysql_error());
  echo '<select name="'.$id.'" id="'.$id.'">';
  while($row = mysql_fetch_array($result,MYSQLI_ASSOC)){
    echo '<option value="'.$row{machine_name}.'">
            '.$row{machine_name}.'</option>';
  }
  echo '</select>';
  echo '</td>';
}