向二维数组中添加数据/从二维数组中获取数据无效

时间:2019-03-17 10:46:18

标签: 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>

1 个答案:

答案 0 :(得分: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,将​​选项内容作为货币名称