【问题标题】:How can I echo SQL data from database table into a <select> form? [duplicate]如何将数据库表中的 SQL 数据回显到 <select> 表单中? [复制]
【发布时间】:2019-07-17 02:22:51
【问题描述】:

我想将一些 SQL 数据 echo 放入一个 &lt;select&gt; 表单中,每个表单与表中的行不同。

我有一张桌子:-

repair (repair_id , date , machine_name ,Machine_vin , request , adresss);

我希望Machine_vin 数字出现在选择选项中。每次删除或添加一个数字时,它都会反映在选项中。

对代码感到困惑,只有:

    <?php 
       $sql = "select * from repair";
       $res = mysqli_query($conn,$sql);
       $selectResult="";
       while($list = mysqli_fetch_array($res)){
       $Machine_vin  = $list['Machine_vin'];

       $selectResult.="<option value="$Machine_vin">$Machine_vin</option>";

    ?>

得到一个 Parse 错误:语法错误,意外的 '$Machine_vin'

如何在&lt;select&gt; 选项中反映machine_vins

【问题讨论】:

  • 显示你尝试过的代码。
  • @costelle 你试过我更新的答案了吗????

标签: php mysql drop-down-menu select-options


【解决方案1】:
<?php 
  $sql = "select * from repair";
  $res = mysqli_query($conn,$sql);
  $selectResult="";
  while($list = mysqli_fetch_array($res)){
    $Machine_vin  = $list['Machine_vin'];

    $selectResult.="<option value='$Machine_vin'>$Machine_vin</option>";

    ?>
<form method='post' action='#'>
<select name="course">
   <option value="0">Please Select Option</option>
      <?php echo $Machine_vin; ?>
</select>
</form>

【讨论】:

  • 感谢您的回复.. 我在 $selectResult 部分收到“解析错误:语法错误,意外 '$Machine_vin' (T_VARIABLE)”
  • @Costelle 请查看我的更新答案,并将“$Machine_vin”更改为“$Machine_vin”
  • 我得到“解析错误:语法错误,文件意外结束”..也许这可能是因为我有 php 发送到 db?
【解决方案2】:

我认为你应该用你尝试过的东西来更新你的问题。甚至是您尝试完成目标的一段代码。当您需要 fetch 数据并将这些数据添加到下拉列表中时,您可以按照以下步骤操作。

1.从数据库中获取数据。

2. 使用while 循环将每个数据分配到下拉选项中

    <div class="form-group">
    <label class="col-md-2 control-label">Machine_vin numbers </label>
    <div class="col-md-4">
        <select  class="form-control"  name="machine_vin" required>
            <option  value="0" selected disabled>Select the type of Machine vin number</option>
            <?php
             //fetch data from db
            $sql_machine_vin = ' SELECT * FROM  repair';
             // query the sql with db connection           
            $result_machine_vin = mysqli_query($conn,$sql_machine_vin);
             //loop the result
            while($row_machine_vin =mysqli_fetch_array($result_machine_vin)){
            ?>

             <option  value="<?=$row_machine_vin['Machine_vin'];?>" >
             <?=$row_machine_vin['Machine_vin'];?> ></option>
             <?php
            }
            ?>
        </select>
    </div>>

【讨论】:

  • @Nipun op 想要选项值属性中的 Machine_vin。
  • @Costelle 我已经更新了我的答案。如果有任何空格,请删除旁边的回声。另外,如果它仍然产生错误,请告诉我们
  • @NipunTharuksha 操作得到“解析错误:语法错误,文件意外结束”。
  • @MohitKumar 抱歉,代码中缺少 > 之一。请立即查看
  • @Costelle please chenge 并检查 ` =$row_machine_vin['Machine_vin'];?>` 到 =$row_machine_vin['machine_name'];?>` 请告诉我们它是什么返回
【解决方案3】:

假设您是 PHP 和 MySQL 新手 对于初学者,您可以开始阅读以下内容:

https://www.php.net/manual/en/book.mysqli.php

通过PHP获取数据并解析是这样的:

https://www.php.net/manual/en/mysqli-result.fetch-assoc.php

然后您使用输出缓冲区 ECHO 脚本并渲染您希望它们放入的标签。

【讨论】:

  • 不客气 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
相关资源
最近更新 更多