2012-05-10 30 views
0
后第一个选项

我的下拉菜单中工作正常查询明智的,但有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

好吧,奋勇拼搏就这一个,我会回答我的问题:

<?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语句

我还添加了最后一行代码行,可以在首页加载时处理默认选项,避免服务器发出空的反馈。

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> 

基本上所有它是它检查是否形式张贴,并抓住选定的日期,增加了一个选项,您与该日期作为一种价值的选择元素都有它选择的,因此在选择当页面加载时下拉。

只要你的问题与页面不显示在第一页加载任何选择,我相信你的问题是你的选择元素没有一个选项“选择”属性。

我希望这可以帮助你...让我们张贴!

BelgianAlien。

+0

嗨BelgianAlien,你的假设是正确的,访问者在选择日期后重定向到同一页面。感谢您的回答,但它对我无效。实际上,您的php代码会将最新处理的选项添加到其他选项的顶部,但不会将其显示为选中状态。它只是继续显示第一个选项。至于没有数据显示在初始页面加载时,添加选定的属性没有任何区别。棘手的一个.... – Naim