嗨,我正在尝试使用mysql在php中实现下拉菜单并且遇到很多麻烦

时间:2016-06-05 21:32:53

标签: php html mysql

数据库名称是sloganstreet,表格是标语,我想要拉出的列称为文本。任何帮助,将不胜感激。我已经建立了与数据库的连接,但我似乎无法得到下拉列表来填充mysql的信息。感谢。

<label>Select a slogan:</label>
<select name="select_slogan">

    <?php
    $query = "SELECT text from slogansstreet";
    $result = mysqli_query($conn, $query);
    echo "<select name='Slogan'>";
    echo "<option value='0'>-Select-</option>";
    while($row = mysqli_fetch_array($result)) 
    {
        echo "<option value='".$row['text']."'></option>";
    }
echo "</select>";
?>

1 个答案:

答案 0 :(得分:3)

您似乎已经完成了两次,但错过了在用户可以看到的下拉列表中添加内容。

您不需要这一行,因为您也在PHP代码中执行此操作,因此请将其删除

<select name="select_slogan">

你需要的就是这个

我也添加了一些错误处理,因为您似乎在该查询中收到错误。

<?php
    error_reporting(E_ALL); 
    ini_set('display_errors', 1);

    $query = "SELECT text from slogansstreet";
    $result = mysqli_query($conn, $query);

    if ( $result === FALSE ) {
        echo mysqli_error($conn);
        exit;
    }


    echo "<select name='Slogan'>";
    echo "<option value='0'>-Select-</option>";

    // add MYSQLI_ASSOC as the second param, so you dont get 
    // a numeric and an associative array returned
    // and waste memory
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        echo "<option value='{$row['text']}'>{$row['text']}</option>";
    }
    echo "</select>";
?>