亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教一個更加優雅的實現業務中的分頁加載的問題?

請教一個更加優雅的實現業務中的分頁加載的問題?

哆啦的時光機 2019-03-01 10:56:33
在負責學校下學期圖書館的項目的一部分,現在碰到了一個業務設計的困難。 比如說在首頁的話,我計劃當學生查詢相關的信息的時候全部采用ajax加載,不是很習慣很多網站比如知乎那種拖動到底部自動加載。我的想法是在底部設置一個分頁的選項,每一頁顯示15條記錄,文章全部采用ajax加載。 這樣sql語句大概就是select xxx from xxx condition limit 15 offset xxx。但是現在由于要做分頁,我必須要知道一個學生總共有多少條記錄在數據庫中,前端才好設計,總記錄可以通過sql語句select count(*) from xxx condition查詢出來,然后將總記錄保存在前端中。 如果這樣的話,必須要為拆分成兩條sql語句查詢,感覺不是很優雅,請問有什么更加優雅的實現方案么? ps: 因為在系統中有很多相似的業務都是要采用類似的分頁設計,每次都這樣使用兩條sql語句分開查詢太不優雅了。 補充 答主好像都沒看請題目。一位是答的就是sql語句1,另外一位說的是前端。 多謝各位網友的回答,問題已解決,看來只能采用兩條sql語句了 ^_^
查看完整描述

8 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

var start = 頁標 - 1;
$.get("url?start=" + start * 15,function(){});
$start = $_GET["start"];
$end = $start + 15;
$sql = "select * from table limit {$start}, {$end}"; 
select a.*, b.count from table a, (select count(*) as count from table ) b LIMIT 1,15
查看完整回答
反對 回復 2019-03-01
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

不用想了,必須是兩條的.
要一條也行:
select * from table
union
select 0, 0...., count(*) from table

查看完整回答
反對 回復 2019-03-01
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

這很正常。如果想用一條sql解決,就把所有對象從數據庫里查出來再做一系列操作,但搞不好你的內存就爆掉了。

查看完整回答
反對 回復 2019-03-01
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

不用想了 必須是兩條 。分頁的實現 定義一個泛型類page<T> 里面放什么 需要我說的更詳細嗎?

查看完整回答
反對 回復 2019-03-01
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

試試PageHelper,就一條sql語句,甚至不需要limit

查看完整回答
反對 回復 2019-03-01
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

題主別想了, 必須兩條sql, 但是mybatis有個分頁插件PageHelper,用法很簡單,第一條sql不需要你寫,插件會實現。

查看完整回答
反對 回復 2019-03-01
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

要優雅的分頁 分頁的插件很多的

查看完整回答
反對 回復 2019-03-01
  • 8 回答
  • 0 關注
  • 551 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號