php - 向/从二维数组添加/获取数据不起作用

标签 php html mysql arrays

我正在尝试将数据从数据库添加到二维数组,然后解包。

此函数位于名为 imsConnection.php 的文件夹中

function getCurrency() {
  global $cn;
  $sql = "select * from Currency";
  $res = mysqli_query($cn, $sql);
  $a = array();
  if (mysqli_num_rows($res) > 0) {
    while ($row = mysqli_fetch_array($res)) {
      $a[] = array($row['currencyID'], $row['currencyName']);
    }
  }
  return $a;
}

并将其解压到投递箱中:

<select name="drpCurrency" required>
  <?php
    require_once("imsConnection.php");
    $a = getCurrency();
    foreach($a as $i) {
      echo "<option value='$i'>$a[$i]</option>";
    }
  ?>
</select>

最佳答案

正式回答:如果您创建多维数组并使用 foreach 循环,您需要根据您需要的键回显该值。在你的情况下:

    foreach($a as $i)
        echo "<option value='" . $i["currencyID"] ."'>" . $i['currencyName'] . "</option>";

我建议您根据键更改数组 - 将 getCurrency 函数更改为:

while($row = mysqli_fetch_array($res)){
    $a[$row['currencyID']] = $row['currencyName'];

然后您可以将其用作:

$a = getCurrency();
foreach($a as $k => $i)
    echo "<option value='$k'>$i/option>";

假设您希望将值作为货币 ID,将选项内容作为货币名称

关于php - 向/从二维数组添加/获取数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55206188/

相关文章:

php - 从php中的字符串中删除转义序列

php - 通过在 url 中传递值在同一页面中从 mysql 执行两个查询

php - 即使列上有索引,TIMEDIFF 查询也会花费很长时间

php - 黑客如何将文件放在我的服务器根目录(apache、php、1and1)

php - Laravel 5.1 创建用户不会插入添加的列?

Javascript 范围和顺序问题

html - 水平登录表单的正确 HTML 和 CSS?

php - 对于每个post变量插入到mysql数据库

javascript - d3.js 鼠标悬停

php - 从数据库检索特定数据/值 1 行 PHP