【发布时间】:2017-02-26 23:32:27
【问题描述】:
我在等待来自 MySQL 数据库的数据时运行了一段时间的 php 脚本。 问题是当客户端刷新浏览器时,这似乎不起作用,相反,它一直在等待......
下面带有循环的代码
<?php
session_start();//i start the session here.
require_once('connections/connections.php');//mysql
function loop_to_get_more_data(){
global $con;
//checking number of connected friends in db...
$check=$con->query("SELECT numfriends FROM SUPERDATATABLE WHERE USERID=$_SESSION[USERID] AND numfriends>0");
if(mysqli_num_rows($check)>0){
//here i do more work and finally exit;
}else{
//loop again...
sleep(3);
loop_to_get_more_data();
return;//required to stop.
}
}loop_to_get_more_data();
exit;//after finshing everything...
现在您可以看到,代码运行良好,但问题是 此循环强制浏览器等待,直到服务器响应请求或在数据存在时退出循环
当客户端刷新浏览器时,浏览器拒绝刷新自己,无论如何都保持相同的状态。
我在这里做错了什么?
【问题讨论】: