php使用for循环存储,php使用for循环存储前端通过ajax传来数据的几个坑

后端是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);

}

}

如果有小白朋友看到了,可以参考一下,

作为一个小白菜,这里坑了一下午才解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值