从自动刷新页面PHP保留下拉列表的值

时间:2012-03-08 00:33:17

标签: php html

我有一个页面需要每5秒自动刷新一次。但是,需要在页面中显示的内容依赖于下拉列表中的值。如何进行设置,以便每次刷新页面时都保留所选值?

下拉代码:

$query="SELECT eventName,eventID FROM event WHERE eventStatus = 'Ongoing' ORDER BY eventDate";

$result = mysql_query ($query);
echo "<select name='event2'>";
$event = strip_tags(@$_POST['event2']);
echo "<option>---------------------Select---------------------</option>";
while($nt=mysql_fetch_array($result)){
   $selected = false;
   // check if the current value equals the value submited
   if(@$_POST['event2'] == $nt['eventID']){
       $selected = true;
   }

   // show selected attribute only if $selected is true
   echo "<option value='{$nt['eventID']}' ". ($selected ? "selected" : "") .">{$nt['eventName']}</option>";
}
echo "</select><input type='submit' name ='view' value='View'/>";

上面的代码只有在我提交时才设法保留下拉列表的值,然后我被重定向到包含下拉列表的同一页面。但是,当页面自动刷新时,它不适用。

4 个答案:

答案 0 :(得分:1)

您可以使用jquery通过ajax(http://api.jquery.com/jQuery.ajax/)加载和显示某些throw页面,而不是刷新整个页面。这样,包含表单的页面部分永远不会刷新,只是显示数据的表。

使用javascript settimeout方法每五秒运行一次ajax调用。

答案 1 :(得分:0)

您可以使用ajax进行刷新,但仍可以将数据存储到SESSION中。

答案 2 :(得分:0)

刷新语句与JQuery重新加载功能不同。

我在类似的情况下使用了JQuery重载功能,它在刷新失败时提供了所需的结果。

尝试:

function reloadPage() { 
    location.reload();
    };

$(document).ready(function() {  
    setTimeout("reloadPage()", 5000);
    });

我没有测试过,所以如果有效,请告诉我。

此致 凯文

答案 3 :(得分:0)

您可以将值存储在Cookie中。