我如何在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秒重复一次这段代码。
答案 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”元素包装它。