為取出的每個陣列中增加一個自增的id(注意此ID不是資料庫中存的自增id欄位)
應用場景:如後臺管理給每個列增加一個序號,遞增,而且需要根據頁數來進行對應,如第一頁顯示的序號是1-10,第二頁顯示的是11-20。以此類推。也許你會說資料庫裡存的時候不就是按照ID自增進行儲存的麼,那麼問題來了,
1:如果你資料庫裡刪除了幾條資料,id不對應,那麼在前臺點選相應的頁碼,進到的頁面還是按照順對應來的麼,如你刪除了33條資料,那麼前臺點選第三頁,顯示的事31-41,因為33條資料沒了。
2:如果需要根據不同的需求進行排序呢。那麼前臺是不是將會亂套了,完全沒有規則了。
針對以上問題(解決方案):
前臺點選穿兩個引數就能解決。一個是頁碼(page_num),一個是每頁顯示的條數(page_size)
示例程式碼:
<?php
public function ajaxRedList(){
$page_index = $_POST['page_index']?$_POST['page_index']:1;
$page_number = $_POST['page_number']?$_POST['page_number']:10;
// 用的是TP3.1 比較老的框架,近期準備換laravel
$cash = M('test');
$cashList = $cash->page($page_index,$page_number)->select();
$count = $cash->count();
$arr = $data = array();
if($cashList){
//注意標紅區域
$index_num = ($page_index-1)*$page_number;
foreach($cashList as $kcash=>$vcash){
$index_num = $index_num+1;
$arr['coupon_name'] = $vcash['coupon_name'];// 紅包名稱
$arr['total_num'] = $vcash['total_num'];
$arr['index_num'] = $index_num;
$data[] = $arr;
$arr = '';
}
}else{
$this->ajaxReturn(array(),'暫無資料',0);
}
$datas = array();
$datas['red_list'] = $data;
$datas['total_list_num'] = $count;
$this->ajaxReturn($datas,'請求成功',1);
}
相關文章
- 自增ID的實現
- 分散式ID系列(3)——資料庫自增ID機制適合做分散式ID嗎分散式資料庫
- 基於MySQL自增ID欄位增量掃描研究MySql
- Mybatis通用mapper獲得insert後的資料實體的自增IDMyBatisAPP
- 面試官:資料庫自增ID用完了會怎麼樣?面試資料庫
- 如何實現Redis裡的自增ID計數器Redis
- Laravel 可以修改預設的自增ID開始值了Laravel
- Mybatis Plus 3.X版本的insert填充自增id的IdType.ID_WORKER策略原始碼分析MyBatis原始碼
- 表的一個欄位存的關聯表的id陣列的json字元,怎麼能在不使用遍歷的情況下獲取所有的id對應的關聯表的資料呢陣列JSON字元
- Twitter的分散式自增ID演算法snowflake (Java版)分散式演算法Java
- 如何使用資料庫和Redis開發各系統獨立的自增ID生成器資料庫Redis
- mysql獲取指定表當前自增id值MySql
- 關於自增id,你可能還不知道
- 【mybatis-plus】主鍵id生成、欄位自動填充MyBatis
- mongodb如何改_id欄位?MongoDB
- mysql自增長id用完了該怎麼辦MCBZMySql
- 向資料庫中插入一條新的資料,並返回新增資料的ID資料庫
- SQLServer中如何刪除欄位的自增標識SQLServer
- python 開發者注意,錯位時空下,不要用 id 判斷兩個物件是不是同一個Python物件
- MySQL自增列ID的面試題MySql面試題
- 面試官竟然問我訂單ID是怎麼生成的?難道不是MySQL自增主鍵?面試MySql
- Seata-AT模式:MySQL自增ID的場景下推薦在 Mybatis 中使用 useGeneratedKeys模式MySqlMyBatis
- Java書籤 #MyBatis之批量插入並返回自增主鍵idJavaMyBatis
- 【Mybatis】mapper對映檔案中<sql>標籤的id等欄位爆紅,資料庫表名爆紅。MyBatisAPPSQL資料庫
- [MySQL] MySQL資料庫中唯一識別符號(ID)的梳理總結MySql資料庫符號
- 資料庫儲存id+逗號,查詢資料庫
- 修改安卓ID為硬體唯一ID安卓
- 一文詳解MySQL如何同時自增自減多個欄位MySql
- 往一個陣列物件裡面傳值,如果id已經存在就替換id同一個物件裡面的另一個值。沒有就新增陣列物件
- vue中使用前端庫 :nanoid自動生成idVue前端NaN
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 不會為每個請求新增獨一無二的id?輕鬆改造spring專案Spring
- 分散式系統中ID的需求分散式
- CAN ID 中的J1939-PGN
- HTML中的tag、element、class、name、idHTML
- PHP產生一個唯一IDPHP
- javascript 將一個陣列中的元素的值複製到另一個已有資料的陣列中JavaScript陣列
- fastadmin中快速搜尋時執行查詢的欄位 預設查詢idAST
- 手動執行SQL觸發器id自增報錯處理方式SQL觸發器