使用PHP中的foreach循环显示带有两个值的php mysql结果

0 php arrays foreach

我有结果,我想显示为下拉菜单.查询从表中选择id和name.

        $usersQuery = "SELECT id, name
        FROM users";
        $usersResult = mysqli_query ($dbc, $usersQuery);
Run Code Online (Sandbox Code Playgroud)

我想将此结果用作下拉菜单中的列表.这就是我到目前为止所拥有的.

      <select id="dropdown" name="dropdown">
        <option value="select" selected="selected">Select</option>
       <?php
        while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
          foreach ($usersRow as $value){
            echo "<option value=\"$value\"";
            echo ">$value</option>\n";
          }
        }
        ?>
      </select>
Run Code Online (Sandbox Code Playgroud)

如果我只想将名称显示为用户的值和显示,这将工作正常.但我想要做的是使用选定的id作为select选项的"value",我想显示为用户选择的名称.我试过这个,但它不起作用.

  <select id="dropdown" name="dropdown">
    <option value="select" selected="selected">Select</option>
   <?php
    while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){
      foreach ($usersRow as $id=>$name){
        echo "<option value=\"$id\"";
        echo ">$name</option>\n";
      }
    }
    ?>
  </select>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

提前致谢.

Tim*_*Tim 5

mysqli_fetch_array()是一个将查询结果转换为数组的函数.这意味着您可以像使用普通数组值一样显示您的值.

<select id="dropdown" name="dropdown">
    <option value="select" selected="selected">Select</option>
   <?php
    while ($usersRow = mysqli_fetch_array($usersResult, MYSQLI_ASSOC)){


        echo "<option value=\"".$usersRow['id']."\"";
        echo ">".$usersRow['name']."</option>\n";

    }
    ?>
  </select>
Run Code Online (Sandbox Code Playgroud)