zoukankan      html  css  js  c++  java
  • 多个编号重复,递归处理

    编号重复

    在数据库中有P20190199139编号,重复了将近几十个,所以循环处理,依次追加增1

    
    public function tests()
        {
           $results=$this->db->query('select pro_sn from (SELECT * FROM `t_pro_info` where serialid=201901 GROUP by pro_sn having count(pro_sn)>1) as result')->result_array();
           $array_sn=array_column($this->db->select('pro_sn')->where('serialid',201901)->get('t_pro_info')->result_array(),'pro_sn');
           
            foreach($results as $vals) {
                $pros=$this->db->select('pro_sn,pro_id')->where('pro_sn',$vals['pro_sn'])->get('t_pro_info')->result_array();
                $i=0;
                foreach($pros as $xsa) {
                    
                    $i++;
                    //$pros_sn='P'.(substr($xsa['pro_sn'],1)+$i);
                    $pros_sn=$xsa['pro_sn'];
                   
                   
                    if (empty($this->is_arrays($array_sn,$pros_sn))) {
                            continue;
                    } else {
    
                        $sn=$this->is_arrays($array_sn,$pros_sn);
                        $this->db->where('pro_id',$xsa['pro_id'])->update('t_pro_info',array('pro_sn'=>$sn));
                        array_push($array_sn,$sn);
                        // $array_sn=array_column($this->db->select('pro_sn')->where('serialid',201901)->get('t_pro_info')->result_array(),'pro_sn');
                        
                    }
                    
                    
                    
                }
    
    
            }
            
        }
    
        public function is_arrays($arrs,$ned,&$j=0)
        {
            
            $j++;
            
            if (in_array($ned,$arrs)) {
                
                   $pros='P'.(substr($ned,1)+$j);
                  
                  return  $this->is_arrays($arrs,$pros,$j);
            } else {
                //var_dump($ned);
                return $ned;
            }
        }
    
    
    
  • 相关阅读:
    UITableView
    xib的读取方式
    远程登录树莓派
    来体验下Linux吧
    树莓派了解Linux基本命令
    来感受Linux命令行的“真香定律”
    初尝树莓派
    从入手树莓派开始
    08-java学习笔记-集合框架中的工具类
    07-java学习笔记-map集合
  • 原文地址:https://www.cnblogs.com/mengluo/p/11490385.html
Copyright © 2011-2022 走看看