2011-12-28 95 views
0

如何在PHP中通過Ajax重複從x行到y的代碼。在php中每隔幾秒重複一行x到y

例如:

mycode的:

$info_2=('<div id="infobox">'); 
echo $chat_2; 
$info_query=mysql_query("SELECT * FROM info WHERE fuid='$uid' or luid='$uid' "); 
$info_num=mysql_num_rows($info_query); 
for($i=0;$i<$info_num;$i++) 
{ 
$info_fetch=mysql_fetch_array($info_query); 
echo($info_fetch['username'].':'.$info_fetch['text'].'<br>'); 
} 

$ info_3 =( ''); echo $ info_3;

現在我需要每x秒重複一次這段代碼。

+0

你在哪裏「回聲」結果? – zerkms 2011-12-28 06:53:43

+0

你在使用JS庫嗎? – Devraj 2011-12-28 07:01:08

+0

jquery ajax或簡單的xml httprequest ..? – 2011-12-28 07:04:36

回答

0

解決這個問題的方法之一是通過setIntervalAjax call執行。 Somethine像:

<div id="my_container"> 
    </div> 
    <script> 
    $(function(){loadContent()}); // first time load content 
    setInterval(loadContent, 2000); // every 2 seconds (2000 millis) 

    function loadContent() 
    { 
    $.ajax({ url:'/my_content.php', 
      success(result):{$("#my_container).html(result)}, 
      error(result):{console.log(result.responseText)}}) 
    } 
    </script> 

不過,我不喜歡設定的時間間隔,因爲它沒有考慮到服務器的時間。 所以這是我會怎麼做(僞代碼):

<div id="my_container"> 
    <!-- include content from 'my_content.php' --> 
</div> 

現在對於 「my_content.php」。

<!--- some HTML content -->.... 
    <script> 
     setTimeout(function(){$.ajax({ url:'/my_content.php', 
             success:function(result){ $("#my_container").html(result);}, 
             error:function(result){ console.log(result.responseText);} 
            }})},2000) // 2 seconds since last result 
    </script> 

這種方式這段代碼是「自包含」,只需要它與「my_container」元素包裝。