限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页 >开发者 >PHP笔记 >PHP基础

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

分类:PHP基础时间:2018-05-17浏览:3328
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/500
Share your thoughts respectfully.