欢迎光临
感谢一路有你

for循环下的陷阱-重置数据

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

for循环下,判断excel中的数据是否已经存在于数据库,

如果不存在,则新增数据,如果存在,判断amount是否相同,如果不相同则更新

其中出现的错误数,只有第一个数据更新,其他的都为新增,

经过步步差查找,终于找到了问题

for循环中没有重置数据$data,本来还以为是for循环if套的太多问题,看来是我想多了(之前使用tp框架for循环不能套太多,否则会出错),下面是正确的数据代码

for ($i = 2;$i <= $highestRow;$i++) {
          $res='';
          $data = [];
          $data['number'] = $objPHPExcel->getActiveSheet()->getCell("B" . $i)->getValue().'';
          $data['title'] = $objPHPExcel->getActiveSheet()->getCell("C" . $i)->getValue().'';

          //判断数据库是否已经存在
          $res = M('Stock')->where($data)->find();

          $amount = $objPHPExcel->getActiveSheet()->getCell("D" . $i)->getValue().'';
          if($res){
            $data['amount'] = $amount;
            $id = $res['id'];
            if($res['amount']!= $data['amount']){
              if($data['number']){
                $a = M('Stock')->where("id='$id'")->data($data)->save();
              }else{}
            }else{}
          }else{
            $data['amount'] = $amount;
            if($data['number']){
            M('Stock')->add($data);
            }else{}
          }
        }

 

 

 

赞(0) 打赏
未经允许不得转载:王明昌博客 » for循环下的陷阱-重置数据
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮