【发布时间】:2017-07-18 06:08:32
【问题描述】:
解决了从数组中填充下拉列表的问题,我项目的下一个阶段是从数据库中提取数据,以允许用户对他们想要查看的数据进行限制。
再次,我在填充下拉列表时遇到了问题。然而这一次,问题似乎是当我把 HTML 和 PHP 穿插在一起时,整个事情都停止了——表单加载了,但下拉菜单中什么也没有。
这是代码。
//Step One: Query the DB, and get a list of monthly reports
$sql = "SELECT Report_Text, Report_Date FROM ADM_8_Reports_List";
$result = $conn->query($sql);
//print_r ($result);
$reports_in_db = mysqli_fetch_all($result,MYSQLI_ASSOC);
if (sizeof($reports_in_db) > 0)
{
print_r ($reports_in_db);
echo "\n";
//Now, like the front page, create a form and populate it.
?>
Choose a Monthly Report <select name = "monthly_report">
<?php
foreach($reports_in_db as $row)
{
echo 'option value"' . $row ["Report_Date"] . '">' . $$row ["Report_Date"] . " " . $row ["Report_Text"] . '</option>';
}
}
else
{
echo "I'm sorry, there's no data here. Please start again\n";
} ?>
</select>
<input type="submit" name="monthly report" value="Retrieve Report"">
看起来正在发生的事情是代码在我插入 HTML 和 PHP 并实际创建下拉列表的位置冻结。
基本上在上一页中,用户可以选择 4 件事情中的一件来做。在这个页面上,有一个基于上一页 $_POST 的 if 语句。根据选择,将轮询数据库以获得所有月度报告的列表。我已经完全复制了我在第一页所做的结构(我从一个我硬定义的关联数组中去的地方)。我无法弄清楚下拉列表的声明有什么问题,但这就是问题所在..很好地停止了。
【问题讨论】:
标签: php html arrays forms associative