【问题标题】:Add/get data to/from two Dimensional array Doesn't work向/从二维数组添加/获取数据不起作用
【发布时间】:2019-06-12 15:32:14
【问题描述】:

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

此函数位于名为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>

【问题讨论】:

  • 您不需要$a[$i],因为$i 已经是元素 - 只需回显$i['currencyName']

标签: php html mysql arrays


【解决方案1】:

正式回答:如果您创建多维数组并使用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,将选项内容作为货币名称

【讨论】:

    猜你喜欢
    • 2018-10-13
    • 2021-11-18
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多