在AJAX中更新div标签

时间:2013-07-05 03:10:29

标签: php ajax database refresh reload

我现在有一个包含PHP代码的页面,我想每3或2秒自动更新一个特定的div标签,目前我从外部php文件更新空div标签但是我想从同一页面更新,这个是我更新外部文件的代码:

<script>
function Ajax(){
var xmlHttp;
    try{    
        xmlHttp=new XMLHttpRequest();
    }
    catch (e){
        try{
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e){
            try{
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){
                alert("Oops!");
                return false;
            }
        }
    }

xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4){
        document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText;
        setTimeout('Ajax()',2000);
    }
}
xmlHttp.open("GET","page.php",true);
xmlHttp.send(null);
}

window.onload=function(){
    setTimeout('Ajax()',2000);
}

</script> 
<div id="ReloadThis"></div>

如何在同一页面更新代码,例如我想更新此代码:

    <?php 
$query5= mysql_query("SELECT * FROM `table` ORDER BY `time` DESC")or die(mysql_error());
    while($arr = mysql_fetch_array($query5)){
    $num = mysql_num_rows($query5);
    $tst = $arr['names'];
    echo '<br>'; 
?>

1 个答案:

答案 0 :(得分:2)

您可以将PHP代码放在同一个文件中,只需将查询字符串xmlHttp.open("GET","yourFileName.php?action=updateDiv",true);用于同一文件,然后在PHP脚本中检查查询字符串并根据该内容返回内容 -

<?php
if(isset($_GET['action']))
{
    if($_GET['action'] == "updateDiv")
    {
        $query5= mysql_query("SELECT * FROM `table` ORDER BY `time` DESC")or   die(mysql_error());
        while($arr = mysql_fetch_array($query5)){
        $num = mysql_num_rows($query5);
        $tst = $arr['names'];
        echo '<br>';
        die();
    }
}
?>