我的下拉菜单可以很好地查询,但有2个问题:
1 - 当我选择一个选项并点击提交按钮时,查询返回正常,但不是显示已处理选项的下拉菜单,它实际上始终显示第一个选项,无论处理选项如何。
2 - 当我进入我的页面时,在我从下拉菜单中选择一个选项并点击提交之前,没有数据显示。我希望页面在第一次输入时默认处理第一个选项。
<form action="http://localhost/xampp/mydomain.com/?page_id=2283" method='post'>
<select name="selected_date">
<option value="2012-05-01">01.05.2012</option>
<option value="2012-04-01">01.04.2012</option>
<option value="2012-03-01">01.03.2012</option>
</select>
<input type="submit" VALUE="Go"/>
</form>
$date=$_POST['selected_date'];
$query = " SELECT * from table1 WHERE
`drop_date` > '$date' AND
`drop_date` <= DATE_ADD('$date', INTERVAL 1 YEAR)";
欢迎任何帮助,谢谢
答案 0 :(得分:2)
我从您的问题中假设,在选择日期后,当访问者点击“开始”按钮时,访问者会被重定向回同一页面。要让他们的选择显示在下拉列表中,您必须先在元素之前阅读他们的选择。
<select name="selected_date">
<?php
if (isset($_POST['selected_date'])){
$selected_date = $_POST['selected_date'];
echo "
<option selected value=\"".$selected_date."\">".$selected_date."</option>
";
}
?>
<option value="2012-05-01">01.05.2012</option>
<option value="2012-04-01">01.04.2012</option>
<option value="2012-03-01">01.03.2012</option>
</select>
基本上它所做的就是检查表单是否已发布并获取所选日期,为select元素添加一个选项,并将该日期作为选中的值,以便在页面的下拉列表中选择该选项负载。
至于您在第一页加载时未显示任何选项的页面问题,我相信您的问题是您的select元素中的所有选项都没有“selected”属性。
我希望这可以帮助你...让我们发布!
BelgianAlien。
答案 1 :(得分:0)
好吧,在这个问题上努力奋斗,我将回答我自己的问题:
<?php
$date=$_POST['selected_date']; //retrieves submitted option
?>
<form action="file.php" method='post'> As of :
<select name="selected_date">
<option value="2012-05-01" <?php if ( $date == '2012-05-01' ) {echo " selected";}?> >01.05.2012</option>
<option value="2012-04-01" <?php if ( $date == '2012-04-01' ) {echo " selected";}?> >01.04.2012</option>
<option value="2012-03-01" <?php if ( $date == '2012-03-01' ) {echo " selected";}?> >01.03.2012</option>
</select>
<input type="submit" VALUE="Get Data"/>
</form>
<?php
if($_POST['selected_date'])
$date=$_POST['selected_date'];
else
$date="2012-05-01"; // assigns a default option to be processed until user submits another one (to avoid empty feedback on 1st page load)
?> //
使用BelgianAlien的答案我最后添加了第一个检索提交选项的代码,因此可以在以下选项中识别'IF语句
我还添加了最后一行代码行,这些代码行可以在首页加载时处理默认选项,避免来自服务器的空反馈。