後端是thinkphp,前端通過jquery ajax傳遞一組資料過去存儲;
傳出去的資料結構:
{
stop_id:1,
num:3,//不固定,實際下邊也是根據這個建立的input組,然後再傳出來的
AAA1:A1,
BBB1:B1,
CCC1:C1,
AAA2:A2,
BBB2:B2,
CCC2:C2,
AAA3:A3,
BBB3:B3,
CCC3:C3
}
mysql資料表:
id,stop_id,AAA,BBB,CCC
後端代碼:
if (request()->isAjax()) {
$result = '';
//第一個坑,必須在for循環外部先定義,再在内部指派,否則内部的$result會被銷毀而無法被調用
$num = input('post.num');
//第二個坑,ajax内部的變量必須在内部指派
$stop_id = input('post.stop_id ');
for ($i=1; $i<=$num; $i++) {
$AAA = input('post.AAA'.$i);
$BBB= input('post.AAA'.$i);
$CCC= input('post.AAA'.$i);
$data=[
'stop_id' = stop_id ,
'AAA' = $AAA,
'BBB' = $BBB,
'CCC' = $CCC
];
if($i == $num){
$result = model(xxxx)->add($data);//最後一次執行時建立資料後指派$result
usleep(1000000);//第三個坑,延遲機關是微秒
break;//不算坑,直接跳出,防止意外
}
model(xxxx)->add($data);//這裡直接建立資料,但不指派$result
unset($data);//第四個坑,清空數組,防止下一個循環無法覆寫資料
}
if ($result == 1) {
$this->success('successs');
} else {
$this->error($result);
}
}
如果有小白朋友看到了,可以參考一下,
作為一個白菜,這裡坑了一下午才解決。