在php中每隔几秒重复一行x到y

时间:2011-12-28 06:51:38

标签: php javascript

我如何在php中通过Ajax重复从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秒重复一次这段代码。

1 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是使用setInterval执行Ajax call。 有些人喜欢:

<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”元素包装它。