最近公司有個需求需要從MySQL獲取數據,然后在頁面上無線循環的翻頁展示。主要就是一直點擊一個按鈕,然后數據從最開始循環到末尾,如果末尾的數據不夠了,那么從數據的最開始取幾條補充上來。
其實,這個功能可以通過JQ實現,也可以通過PHP + MYSQL實現,只不過JQ比較方便而且效率更高罷了。
每次顯示10條數據。
public function get_data($limit){ $sql="select * from ((select id,name from `mytable` limit {$limit},10) union all (select id,name from `mytable` limit 0,10)) as test limit 0,10"; return $this->query($sql); }
上述sql語句通過mysql的union all方法,把兩個集合拼接到一起,并取前十條數據。
public function getCount(){//獲取數據的條數 $sql="select count(id) as t from `mytable`"; return $this->query($sql); }
下一步在控制器中獲取數據,并給ajax提供數據接口。
//測試數據庫無限循環取數據 public function getInfiniteData(){ //用戶點擊數 $page = $_GET['click']; //每次展示條數 $pagesize = 10; //獲取總條數 $total = $this->Mydemo->get_count(); $t = $total[0][0]['t']; //算出每次點擊的其起始位置 $limit = (($page - 1)*$pagesize)%$t; $data = $this->Mydemo->get_data($limit); if (!empty($data)) { //轉換為二維數組 $list = []; foreach ($data as $key => $v) { $list[$key] = $data[$key][0]; } $info['msg'] = $list; $info['code'] = '001'; }else{ $info['code'] = '002'; $info['msg'] = '暫無數據'; } echo json_encode($info,JSON_UNESCAPED_UNICODE);die; }
總結
以上所述是小編給大家介紹的PHP無限循環獲取MySQL中的數據實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。