在HTML中使用PHP的数据库下拉列表

在HTML中使用PHP的数据库下拉列表,php,html,Php,Html,我想在HTML代码中使用PHP从数据库创建一个下拉列表,但是该列表返回的是Array(),而不是值: <li class="dropdown"> <a data-toggle="dropdown" href="#"><i class="icon-plus-sign scolor"></i> Dropdown <span class="caret"></span></a> <ul cl

我想在HTML代码中使用PHP从数据库创建一个下拉列表,但是该列表返回的是Array(),而不是值:

    <li class="dropdown">
    <a data-toggle="dropdown" href="#"><i class="icon-plus-sign scolor"></i> Dropdown <span class="caret"></span></a>
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" >

    <li><a>
            <?php
                $sql = "SELECT USER FROM table";
                $result = $conn->query($sql);

                $ArrayUSER = array();
                if ($result->num_rows > 0) {
                    // output data of each row
                    while($row = $result->fetch_assoc()) {
                    $USER = $row["USER"];
                    $ArrayUSER[] = $USER ;
                    }
                    print_r($ArrayUSER);

                } else {
                    echo "USER: 0 ";
                }
            ?>
    </a>
    </li>
  • 试试这个

    <?php
                $sql = "SELECT USER FROM table";
                $result = $conn->query($sql);
    
                $ArrayUSER = array();
                if ($result->num_rows > 0) {
                    // output data of each row
                    while($row = $result->fetch_assoc()) {
                    $USER = $row["USER"];
    
                    echo "<li><a>" .$USER."</a></li>";} 
                }
    

    这应该可以获得数据-将每个新用户添加到数组中,而不是保存到$user中,然后打印数组

    $ArrayUSER = array();
    if ($result->num_rows > 0) {
        // output data of each row
         while($row = $result->fetch_assoc()) {
             $ArrayUSER[] = $row["USER"];
         }
         print_r($ArrayUSER);
    } else {
        echo "USER: 0 ";
    }
    
    对于格式化列表,您需要将HTML放入循环中,而不需要数组

    if ($result->num_rows > 0) {
        // output data of each row
         while($row = $result->fetch_assoc()) {
             echo '<li><a>' . $row["USER"] . '</a></li>';
         }
    } else {
        echo "USER: 0 ";
    }
    
    if($result->num\u rows>0){
    //每行的输出数据
    而($row=$result->fetch_assoc()){
    回显“
  • ”.$row[“USER”]。
  • ”; } }否则{ 回显“用户:0”; }
    您可以修改您的答案,使其以如下方式打印数据库中的每一行


    您使用了错误的变量。打印$USER,您将看到magic happenI我一直在玩代码,我忘记添加$ArrayUSER[]=$USER;但这仍然不起作用,弗雷德,谢谢你,但它只打印最后一个用户,我需要一个for循环吗?不客气。TBH,我甚至不认为您需要
    $ArrayUSER=array()等。只需使用常规的
    循环并回显
    $row
    。它将所有用户打印在同一行中,这意味着我无法从下拉列表中选择用户。这不是他们现在拥有的吗?不,我已将变量从$ArrayUSER更改为$user。。加上为while循环放置}。。。。