本帖最後由 aier520 於 2013-12-06 00:59:45 編輯
update.php 頁大概如下:
//此頁面執行時間比較長,可能要幾分鐘$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進度條