先獲取整體任務(wù),然后以一個維度來量化,再隨時取當前進度,除以整體的,再化整
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供豐南網(wǎng)站建設(shè)、豐南做網(wǎng)站、豐南網(wǎng)站設(shè)計、豐南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、豐南企業(yè)網(wǎng)站模板建站服務(wù),10多年豐南做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
比如一個文件內(nèi)有x行要讀入,那么雖然每行內(nèi)容大小不一,但可以看做計算完每行算完成總體進度1/x
那么如果要每處理完一行,就要響應(yīng)不斷的查詢和進行一個輸出,會影響性能的,而且你的導(dǎo)入方式必須能夠量化每一步
比如這樣
$file_size=文件內(nèi)數(shù)據(jù)行數(shù);
$current=0; //第一行,開始
while (沒處理完)
{
導(dǎo)入一行;
$current++;
輸出 $current/$file_size * 100;
//繼續(xù)
}
顯而易見,這得你的處理是逐步的....如果你是用某種現(xiàn)成的直接導(dǎo)入導(dǎo)出文件的函數(shù),你根本不會獲取到中間執(zhí)行的過程.
如果確實想精確的處理下載進度條的話,兩種方案:
第一種是需要用socket保持與客戶端通信,返回已下載的數(shù)據(jù)大小,然后可以顯示下載速度,以及進度條之類。
第二種是php與flash交互,顯示進度條。
否則的可以顯示一個模擬進度條,如果滿足需求的話。
一般實現(xiàn)下載進度條常用的兩種解決方案是:一種是需要用socket保持與客戶端通信,返回已下載的數(shù)據(jù)大小,然后可以JS+css顯示下載速度,以及進度條之類;二種是php與flash交互,顯示進度條。另外PHP5.4起 開始支持 進度條 Upload progress,你可以了解下!
你這是OA功能還是什么,如果是OA消息發(fā)送接收應(yīng)該不是實時的.郵件通知或者站內(nèi)信通知
不知你是否已經(jīng)有框架 都存數(shù)據(jù)庫就行沒必要幾維數(shù)組
首先是項目表 任務(wù)表 員工表
項目表和任務(wù)表一對多 并在任務(wù)表加order字段排序
任務(wù)表和負責人一對多 一個任務(wù)可以多個負責人 如果只允許一個負責人就更簡單了
比如項目表中 projectID=1 name=測試項目
任務(wù)表中
taskID=1 projectID=1 order=1 text=第1個任務(wù) isdone=fasle
taskID=2 projectID=1 order=2 text=第2個任務(wù) isdone=fasle
taskID=3 projectID=1 order=3 text=第3個任務(wù) isdone=fasle
taskID=4 projectID=1 order=4 text=第4個任務(wù) isdone=fasle
taskID=5 projectID=1 order=5 text=第5個任務(wù) isdone=fasle
員工表中
personID=1 name=員工1 taskID=1
personID=2 name=員工2 taskID=2
personID=3 name=員工3 taskID=3
personID=4 name=員工4 taskID=4
personID=5 name=員工5 taskID=5
personID=6 name=員工6 taskID=2
6個員工其中第六個員工和第二個員工都是處理第二個任務(wù)的
于是就都關(guān)聯(lián)上了 isdone是否完成任務(wù) 根據(jù)這個判斷顯示幾個
進度條很簡單 5張前置圖一張背景 完成了的顯示前置圖 沒完成的不顯示 這樣就是進度條了
要實時更新就有用ajax動態(tài)更新
數(shù)據(jù)庫自己家其他字段....
吃飯去了....全手打..自己想的..