从mysql填充下拉列表 - php / html

时间:2015-09-29 12:35:54

标签: php html mysql

尝试从我的数据库填充下拉列表 - 连接是正常的,在我看来我的代码应该工作,但目前得到一个空白的下拉列表... 看了PHP- Fetch from database and store in drop down menu html以及其他教程,但到目前为止还没有运气!

代码如下......

<?php
//get constants for database
require("database.php");

// Opens a connection to a MySQL server
$connection = mysqli_connect ($server, $username, $password);
if (!$connection){  
    die('Not connected : ' . mysqli_error());
}

// Set the active MySQL database
$db_selected = mysqli_select_db($connection, $database);
if (!$db_selected) {
    die ('Can\'t use db : ' . mysqli_error($connection));
}

$query = "SELECT * FROM route WHERE 1";
$result = mysqli_query($connection, $query);


echo '<select name="list" style="width:400px;">';

while($r = mysqli_fetch_assoc($result)){
    echo "<option value=".$r['alt']."</option>"; 
}

echo '</select>';
?>

3 个答案:

答案 0 :(得分:3)

<option>标记已损坏。

更正后的代码:

while($r = mysqli_fetch_assoc($result)){
  echo '<option value="'.$r['alt'].'">'.$r['alt'].'</option>'; 
}

注意:您也可以使用单引号和双引号,但应正确关闭它们。

答案 1 :(得分:0)

请查看此Select Dropdown Syntax

选择下拉列表的语法

<select>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
</select>

您错过了期权的收盘价。

<?php
//get constants for database
require("database.php");

// Opens a connection to a MySQL server
$connection = mysqli_connect ($server, $username, $password);
if (!$connection){  
die('Not connected : ' . mysqli_error());
}

// Set the active MySQL database
$db_selected = mysqli_select_db($connection, $database);
if (!$db_selected) {
    die ('Can\'t use db : ' . mysqli_error($connection));
}

$query = "SELECT * FROM route WHERE 1";
$result = mysqli_query($connection, $query);

//Changes From Here

?>
<select name="list" style="width:400px;">
    <?
    while($r = mysqli_fetch_assoc($result))
    {?>
        <option value="<?echo $r['alt'];?>"><?echo $r['alt'];?></option>
    <?}?>
</select>

答案 2 :(得分:-1)

<?php
        //get constants for database
        require("database.php");

        // Opens a connection to a MySQL server
        $connection = mysqli_connect ($server, $username, $password);
        if (!$connection){  
            die('Not connected : ' . mysqli_error());
            }

        // Set the active MySQL database
        $db_selected = mysqli_select_db($connection, $database);
        if (!$db_selected) {
            die ('Can\'t use db : ' . mysqli_error($connection));
        }

        $query = "SELECT * FROM route WHERE 1";
        $result = mysqli_query($connection, $query);


            echo '<select name="list" style="width:400px;">';

                while($r = mysqli_fetch_assoc($result)){
                    echo "<option value=".$r['alt'].">".$r['alt']."</option>"; 
                }

            echo '</select>';
            ?>

因此,如果你的选择条件是正确/隐藏的,那么你必须在选项标签之间添加一个显示值。根据您在代码值标记中指定值的代码,但未给出要显示的值。试试上面的