php 自定义规则自动生成订单号 6位数订单号

       $today = date ("md");        //获取系统当前时间       
        $data=date("Y");               //获取年份
        $query=$this->dao->select('hscode')->from(表名) //在数据库中查询当日是否已经有编号产生,如果有返回最大值的那一条
        ->where('hscode')->like($today.'%')
        ->andWhere('orderDate')->like($data.'%')
        ->andWhere('deleted')->eq(0)
        ->orderBy('hscode_desc  limit 1')      //倒序 取第一条数据
        ->fetch();

        if (count($query->hscode) == 0) //如果返回的结果为0,则表示当日没有生成,则生成当日第一个编号
        {
            $order = str_pad ($today, 6, 0, STR_PAD_RIGHT ) + 1;      //6位数订单号前面如果是0不会显示出来 所以要判断添加0在前面
            if(strlen($order)<6){

              $hscode='0'.$order;

          }else{

             $hscode=$order;

         }
            
        }else{        //否则直接在当日的上一个编号上增加1
            $order = $query->hscode + 1;
            if(strlen($order)<6){

                   $hscode='0'.$order;

          }else{

                $hscode=$order;

           }
       }
 

echo    $hscode;       //输出订单号

你可能感兴趣的:(php代码)