使用PDO创建ComboBox

时间:2014-09-14 18:15:19

标签: php mysql pdo

我是这一切的新手,我没有运气在任何地方找到答案。 我正在尝试用PDO创建一个组合框,但我无法让它正常工作。我的结果显示了数组和数组中的所有内容。

我想要展示的是一个组合框中的equipment_model,如果可能的话,根据该选择,在其右边的一个字段中显示与该模型相关的价格。

如果需要更多信息,请通知我。我又是新手,想要学习。

 <form>
   <fieldset>
      <legend>Selecting elements</legend>
      <p>
         <label>Furnace</label>
     <select name="Equipment1" id = "Equipment1"> 
 <option id="1">
 <?PHP
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_model from equipment_master";
    $data = $odb->prepare($query);    // Prepare query for execution
    $data->execute();// Execute (run) the query



    $row=$data->fetchAll(PDO::FETCH_ASSOC);


    print_r($row); 
    ?>
 </option>





     </select>
     </fieldset>
</form>

2 个答案:

答案 0 :(得分:1)

您需要做的就是在获取每一行时回显该选项。

我建议您在查询中添加equipment_id

select equipment_id, equipment_model from equipment_master

并将其打印在循环中:

<select name="Equipment1" id = "Equipment1"> 
<?php
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_id, equipment_model from equipment_master";
    $data = $odb->prepare($query);    // Prepare query for execution
    $data->execute();// Execute (run) the query

    while($row=$data->fetch(PDO::FETCH_ASSOC)){
        echo '<option value="'.$row['equipment_id'].'">'.$row['equipment_model'].'</option>';
        //print_r($row); 
    }
?>
 </select>

这将使用选项构建select。

更好的方法是使用ajax填充它,因为你有意操纵select标签。

答案 1 :(得分:-4)

这应该是一个很好的起点

...
<?PHP
require_once 'php/func_inc.php';
$odb=new PDO('mysql:host=localhost;dbname=proposal_site', 'root', '');
$query = "select equipment_model from equipment_master";
$data = $odb->prepare($query);    // Prepare query for execution
$data->execute();// Execute (run) the query

while ($row = $data->fetchAll(PDO::FETCH_ASSOC))  {
    echo  '<option value="'.$row['equipment_model'].'">'.$row['equipment_model'].'</option>';
}
...

您应该考虑使用PHP框架