我需要帮助获取一列月份名称并在下拉菜单中显示它们。我已经尝试了一百万种不同的运气方式。我们将非常感谢您的帮助。
<?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);
?>
答案 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;
}
请记住,数据库,表格和列名称区分大小写,因此,如果它们正确,请更好地检查Month
和ActualsInput
。你可以做的是在后端运行你的查询(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>';
?>
如果您可以提供有关您的问题的更多信息,那么这可以帮助您更轻松。