php获取数据更新进度的问题
程序员文章站
2022-05-05 14:58:13
...
本帖最后由 aier520 于 2013-12-06 00:59:45 编辑 update.php 页大概如下:
getdata.php 页是输出session中保存的更新进度,代码如下
html页内容大致如下:
当点击这个按钮时触发一个js(jquery写的)
//此页面执行时间比较长,可能要几分钟$sql = "select * from news";//执行sql 得到数组 $news_arr 具体代码省略$news_count=count($news_arr )-1;统计数组数量,以便计算更新的进度//开始循环数组且更新数据foreach($news_arr as $key => $value){ //从别数据库获得数据 且更新到本地数据,代码省略 $_SERVER['wait']=floor($key/$news_count*100); 把更新进度保存进session}
getdata.php 页是输出session中保存的更新进度,代码如下
echo $_SERVER['wait'];
html页内容大致如下:
当点击这个按钮时触发一个js(jquery写的)
$(".bgn,.bgy").click(function() { url="http://localhost/update.php"; //数据更新的操作页 $.get(url);//用ajax的方法去执行更新程序 function getwait() { $.get( "http://localhost/getdata.php", //获得数据更新的进度 function(redata) {//问题出在这里 在上面的 $.get(url) 去执行更新,//如果php的更新脚本没有执行完成(就是update.php 这个页的程序没有执行完成),//这里不会有任何数据返回,请问朋友们,这个问题我要怎么解决呢? alert(redata); //这里做更新进度条的处理 }, "text") } setInterval(getwait, 1000);})
回复讨论(解决方案)
你要做进度条 在前端做一个定时器 定时的去提交数据 返回结果 提交一次10%...不用我说了吧 大概这个意思吧
PHP进度条