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

时间:2012-11-05 03:45:02

标签: php html

我在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>

我需要将所有机器名称从mysql中取出并填充“selectMachine”下拉列表框。

我的php功能是

  function selectMachine()
  {
    $strQuery = "select id, machine
           from rpt_machine
           order by machine";

    $machineResult = mysql_query($strQuery);

    while($arrayRow = mysql_fetch_assoc($machineResult)) {
      $strA = $arrayRow["id"];
      $strB = $arrayRow["machine"];

  }

2 个答案:

答案 0 :(得分:2)

为什么要创建功能?就这样做吧

<?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>

答案 1 :(得分:0)

你可以编写一个类似于这个的函数:

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>';
}

学习如何制作和调用php函数go here