PHP中文网2017-04-18 10:38:28
不知道我理解的和你表達的是不是一致的,最近剛好在做特殊分頁的相關功能,試著回答。
我們平常的分頁的頁面大小PageSize都是預先設定的,當資料庫記錄總數已知的前提下,頁面的總數也就固定了,因此,當我們遇到這種需要臨時修改頁面大小PageSize的功能的時候,存在著一定的可能性pageNum和pageCount都會跟著一起變化;
那我們要做的是,當某個頁面的某項記錄被remov掉以後,我們需要他後面的數據跟著一起回應(分為兩種):
1. 不改變頁面大小
如果remove掉這個頁面(也就是傳過來的list)中的數據後,pageSize仍然保持不變,那麼我們沒什麼需要擔心的,pageNum依然記錄當前頁的最後一個依然記錄當前頁的最後一個記錄,這樣點擊上一頁,下一頁,不受影響,唯一需要做的工作就是在前台顯示上,你需要讓remove掉的這個記錄確實不在頁面顯示了,(我默認你資料庫是不delete數據的,如果你delete數據,那就另說了)
2. 改變頁面大小
如果你remove掉數據以後,頁面大小也隨之改變,那麼需要同時變化的有:pageSize,pageNum,pageCount等等,你remove這條數據後,當前頁面大小變小了,在總資料記錄列數-1的情況下,總頁面數需要重新計算:pageCount = (allCount % pageSize == 0)?(allCount/pageSize):(pallCount/pageSize + 1)
不知道有沒有說明白,希望能給你一些幫助。