php怎么對特別大的數(shù)據(jù)量進行分頁
php、mysql怎么對特別大的數(shù)據(jù)量進行分頁
絕地無雙
2018-07-30 15:08:50
TA貢獻1890條經(jīng)驗 獲得超9個贊
一般分頁寫法是:
SELECT * FROM posts ORDER BY id DESC LIMIT $page_size OFFSET $offset
不過當$offset很大時,速度會比較慢.
這時可以嘗試使用"上一頁"和"下一頁"進行分頁,比如:
60-41(上一頁) 40-21(當前頁) 20-01(下一頁)
下一頁(舊文章20篇):
//page.php?id=-21 負數(shù)表示下一頁舊文章 這里的21表示當前頁最下面的文章的ID. SELECT * FROM posts WHERE id < 21 ORDER BY id DESC LIMIT 20;
上一頁(新文章20篇):
//page.php?id=40 正數(shù)表示上一頁新文章 這里的40表示當前頁最上面的文章的ID. SELECT * FROM posts WHERE id > 40 ORDER BY id ASC LIMIT 20;
得到的是升序ID序列,PHP使用array_reverse反轉(zhuǎn)數(shù)組實現(xiàn)降序輸出.
覺得負數(shù)不好看的話,可以額外加一個參數(shù),比如:
page.php?action=next&id=21
page.php?action=prev&id=40
舉報