仅显示数组中的最后一项

时间:2016-07-29 08:34:15

标签: php mysqli

所以我有下拉菜单,我想填写数组中的项目。问题是数组中唯一的东西是数据库中的最后一项。 这是PHP:

$link = mysqli_connect("79.170.44.77","cl38-baza","3g!cwDwxm","cl38-baza");
//LOADING DATA
if(mysqli_connect_error()) {
    die("Database Connection Error");
} else {
    $query = "SELECT name FROM People ";
    $result = mysqli_query($link,$query);

    if(mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            $names= array($row);

        }
    } else {
        echo "no result!";
    }

}

HTML就是:

                <select class="form-control select2" style="width: 100%;">
                  <option selected="selected">Choose one</option>
                  <?php

                    foreach($names as $name) { ?>
                      <option value="<?php echo $name['name'] ?>"><?php echo $name['name'] ?></option>
                    <?php
                    } ?>

                </select>

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

此行为$ names

指定值
$names= array($row);

相反,您必须添加到数组才能在HTML中循环

$names[] = $row;

同时声明

$names = [];

以上

if(mysqli_num_rows($result) > 0) {

答案 1 :(得分:0)

你不需要

$names= array($row);

你需要

$names[]= $row;

答案 2 :(得分:0)

我们需要使用如下代码:

$ names = array();

$ names [] = $ row;

如果您只想要数组中的最后一项($ names),请使用结束($ names)

答案 3 :(得分:0)

你快到了!

更改$names= array($row);$names[]= $row;