【问题标题】:PHP Dropdown load data from DBPHP Dropdown 从数据库加载数据
【发布时间】:2016-07-27 14:00:48
【问题描述】:

我正在开发一个允许插入、修改和删除员工的简单应用程序。

我遇到的问题是人员编辑页面。这里我有一些文本输入和一些下拉菜单。

当我编辑人员详细信息时,我会从数据库中加载数据并将它们显示在相应的字段中。

问题在于下拉列表,包含人员详细信息的查询仅包含该人的数据,而对于城市,我可能需要从数据库中加载所有城市,这里是一个示例:

<?php
if ($result2->num_rows > 0) {
  // output data of each row
    while($row = $result2->fetch_assoc()) {
          echo "<div class='form-group'>
                    <label>Name</label>
                    <input class='form-control' value='". $row["Name"] . "'>
                </div>
                <div class='form-group'>
                    <label>email</label>
                    <input class='form-control' value='". $row["email"] . "'>
                </div>
                <div class='form-group'>
                    <label>City</label>
                    <select class='form-control'>
                        <option selected>". $row["City"] . "</option>
                        <option>New York</option>
                        <option>Boston</option>
                        <option>San Francisco</option>
                    </select>
                </div>";
        }
    }
?>

在“while”中,我循环 $result2,其中包含如下查询:

Select name, email, city from emp where id = 100;

当我从应用程序编辑人员详细信息时,城市下拉菜单将加载正确的城市,但我需要加载所有城市(我在 $result2 中没有)才能进行修改。

就像一个嵌套循环,但我不确定如何实现它。

任何帮助表示赞赏

谢谢

【问题讨论】:

  • 你的意思是你需要另一个查询来获得所有的城市?
  • 你为什么不直接使用选择本身来输出所有其他城市?看起来你在硬编码其他的。
  • @Denis 我猜,但我不知道如何实现它。是否应该在该标签之外添加另一个 php 标签并循环另一个包含所有城市的变量?
  • @Fred 其他城市是硬编码的例子。我需要摆脱那些硬编码并实际从数据库中加载它们。你是什​​么意思使用选择输出城市?谢谢
  • @ChrisA 在您现有的查询之前,再写一个来获取您所有的城市,并将它们存储到一个数组中。代替对城市进行硬编码的 HTML 执行 foreach 循环并在 html 中回显您的选项。

标签: php dropdown


【解决方案1】:

假设您将城市存储在数组 $cities 中

<?php
if ($result2->num_rows > 0) {
  // output data of each row
    while($row = $result2->fetch_assoc()) {
          echo "<div class='form-group'>
                    <label>Name</label>
                    <input class='form-control' value='". $row["Name"] . "'>
                </div>
                <div class='form-group'>
                    <label>email</label>
                    <input class='form-control' value='". $row["email"] . "'>
                </div>
                <div class='form-group'>
                    <label>City</label>
                    <select class='form-control'>";
                        foreach($cities as $city){
                           echo "<option".(($city == $row["City"])?" selected":"").">". $city ."</option>";
                        }
                    echo "</select>
                </div>";
        }
    }
?>

【讨论】:

  • 是的。谢谢丹尼斯所以我的错误是我在
猜你喜欢
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多