因為有分頁功能,排序就出了問題了,最多只能排序第一頁,翻頁后,列表無法繼續排序。請問有什么好方法可以解決先排序后翻頁呢?
我是按獲取當前位置與數據庫經緯度計算后獲得距離后,按最近的距離進行由近到遠排序的,最多只能排序第一頁,第二頁是亂的。
如下:
第一頁內容
列表1 距離:1.5km
列表2 距離: 2.5km...
翻頁后,第二頁內容
列表3 距離:5.5km
列表4 距離:1.2km
列表5 距離:7.2km
想要實現的效果如下
第一頁內容
列表1 距離:1.2km
列表2 距離:1.5km...
翻頁后,第二頁內容
列表3 距離:2.5km
列表4 距離:5.2km
列表5 距離:7.2km
在第一頁就把所有最近距離排序好,翻頁后接著上一頁繼續排序。請問該怎么做呢?非常感謝!~
4 回答

蕪湖不蕪
TA貢獻1796條經驗 獲得超7個贊
數據是從哪里來的,如果從數據庫,可以使用sql中的order by關鍵字,如果是從搜索引擎里面數據,也都應當有相應的排序功能,一般的數據排序都不用php做的,

繁花如伊
TA貢獻2012條經驗 獲得超12個贊
首先,你通過計算得到一個計算之后的距離數組.然后通過usort(),根據數組中的距離字段進行排序,在根據你的page和pagesize分割數組,array_slice()。就可以實現了?;蛘吣阒胺祷卣麄€排序之后的數組到前端,用js進行數組分割操作也是可以的。

互換的青春
TA貢獻1797條經驗 獲得超6個贊
從數據庫取數據的話:
舉個栗子:每頁10條數據,用距離倒序排列
第一頁
select * from tableName where country='china' order by [距離] desc limit 0, 10;
第二頁
select * from tableName where country='china' order by [距離] desc limit 10, 10;
- 4 回答
- 0 關注
- 739 瀏覽
添加回答
舉報
0/150
提交
取消