$stid = isset($_GET['stid'])?$_GET['stid']:0; - $endid = $stid + 100;
 - $maxid = 10000;
 function dosomething(){ - //要时间比较多的操作
 - ……
 - }
 - $sql_string=”select *  from `table`  where id>’$stid’ and id<=’$endid’ order by id”;
 - $datas = getdata_bysql($sql_string);
 - foreach($datas as $data){
 - //处理数据
 - …..
 - echo $id.” 处理完成. 
 ”; - if($id>=$maxid){exit;}
 - }
 - if($stid<=$maxid){
 - $stid = $stid + 100;
 - $url=”action.php?stid=$stid”;
 - echo $url;
 - echo ‘’;
 - }
 - ?>
 -  
 
 其中的dosomething()是一个耗时操作。这里我们通过限制id范围来减少运行时间,运行完后通过javascript的跳转来自动运行下一步。
这样,每处理一批数据就可以知道结果,如果中断也知道问题出在那里。  |