帮助从MySQL数据库中获取文本到下拉菜单中

时间:2016-12-21 21:12:33

标签: php mysql

我需要帮助获取一列月份名称并在下拉菜单中显示它们。我已经尝试了一百万种不同的运气方式。我们将非常感谢您的帮助。

<?php 
    $sqlm="SELECT`Month` FROM `ActualsInput`";
    $resultm=mysqli_query($con,$sqlm);

    /// fecthing into
    $MonthMenu=mysqli_fetch_array($resultm,MYSQLI_NUM);

    // Print the result
    echo '<select name="city"><OPTION>'; 
    echo "Select an option</OPTION>"; 

    foreach ($MonthMenu as $g) {
        echo '<OPTION value="' . $g . '">' . $g . '</OPTION>'; 
    } 

    echo '</SELECT>';

    mysqli_free_result($resultm);
    mysqli_close($con);
?>

1 个答案:

答案 0 :(得分:0)

有很多因素可以考虑到为什么你没有得到理想的结果:

数据库连接

首先,您是否将数据库连接包含在该特定页面中?

$con = new mysqli("host", "user", "password", "database"); /* REPLACE NECESSARY PARAMETERS */
if ($con->connect_errno) {
    echo "Failed to connect to MySQL: (" . $con->connect_errno . ") " . $con->connect_error;
}

区分大小写

请记住,数据库,表格和列名称区分大小写,因此,如果它们正确,请更好地检查MonthActualsInput。你可以做的是在后端运行你的查询(PhpMyAdmin),如果它会返回一些结果:

SELECT `Month` FROM `ActualsInput`

您还可以参考帖子评论部分中提到的其他错误检查

撷取

您还可以尝试从数据库中更标准地获取数据:

<?php 

    /* INCLUDE HERE YOUR DATABASE CONNECTION */

    echo '<select name="city">
              <option>Select an option</option>'; 

    $sqlm = "SELECT `Month` FROM `ActualsInput`";
    $resultm = mysqli_query($con, $sqlm);
    while($row = mysqli_fetch_array($resultm)){
        echo '<option value="'.$row['Month'].'">'.$row['Month'].'</option>';
    }

    echo '</select>';

?>

准备好的声明

您还要考虑mysqli_*&#39; prepared statement

<?php 

    /* INCLUDE HERE YOUR DATABASE CONNECTION */

    echo '<select name="city">
              <option>Select an option</option>';

    $stmt = $con->prepare("SELECT `Month` FROM `ActualsInput`");
    $stmt->execute();
    $stmt->bind_result($month);
    while($stmt->fetch()){
        echo '<option="'.$month.'">'.$month.'</option>';
    }
    $stmt->close();

    echo '</select>';

?>

如果您可以提供有关您的问题的更多信息,那么这可以帮助您更轻松。