zoukankan      html  css  js  c++  java
  • PHP 处理历史数据的伪代码

    <?php
    
    class a
    {
        protected static $Senior = [1, 2, 3]; 
        protected static $NoSenior = [13, 14, 15, 16, 17, 18, 19; 
        /**
         * 获取所有在职老师的id
         * 根据在职老师去查所匹配的条件
         * 根据条件取跟新新的
         */
        function run()
        {
            //获取所有在职老师的id
            $sql = "SELECT t.teacher_id FROM teacher t LEFT JOIN teacher_ext te on t.teacher_id = te.id  WHERE te.job_status = 1";
            $list = M()->all();
            //sleep(10);
            foreach ($list as $teacher_id) {
                //$teacher_id = 22171;
                $sql = "SELECT  t.teacher_id,t.race_type,lm.is_leader,ttgr.grade_id FROM teacher t 
                        LEFT JOIN 表 te on 条件 
                        LEFT JOIN 表 lm on 条件
                        LEFT JOIN 表 ttgr on 条件
                        WHERE  t.teacher_id = ? ";
               
                $teacherDate = M()->query($sql, $teacher_id)->all();//查询
                $endRaceType = $this->tdate($teacherDate);    
                $res = $this->insertDate($endRaceType, $teacher_id['teacher_id']); 
            }
    
        }
    
        /**
         * 获取老师的所有类型;
         * @param $teacherDate
         * @return array
         */
        public function tdate($teacherDate)
        {
            $raceType = [];
            foreach ($teacherDate as $val) {
                if ($val['is_leader'] == 1) { 
                    if (in_array($val[''], self::Senior)) {
                        
                    } else { 
                       
                    }
                } else {
                    if (in_array($val[''], self::$Senior)) { 
                     
                    } else { 
                       
                }
                //组合所有的授课类型
                $raceType[] = $teacherRaceType;
            }
    
            //合并所有授课类型到一个数组,并去除重复的授课类型;
            $race = [];
            for ($i = 0; $i < count($raceType); $i++) {
                $middle = array_merge($race, $raceType[$i]);
                $race = $middle;
            }
            $endRaceType = array_unique($race);
            return $endRaceType;
        }
    
        /**
         * 存入数据库;
         * @param $endRaceType
         * @param $teacher_id
         */
        public function insertDate($endRaceType, $teacher_id)
        {
            foreach ($endRaceType as $v) { //添加到数据库
                $m = M()->begin();
                try {
                    M()->insert(['teacherId' => $teacher_id, 'raceType' => $v]);
                    $m->end(true);
                } catch (Exception $e) {
                    $m->end(false);
                    MSVC::log( $e->getMessage());
                }
            }
            sleep(10);
        }
    
    
    }
  • 相关阅读:
    微信商城中使用微信支付接口获取用户地址
    微信支付开发流程
    沉默多年,重新开博
    Extjs 表单验证后,几种错误信息展示方式
    自己对Extjs的Xtemplate的忽略
    js execCommand
    支付宝支付
    C# 将短时间格式变长正常时间格式
    SortedDictionary
    sql操作
  • 原文地址:https://www.cnblogs.com/songyanan/p/10632883.html
Copyright © 2011-2022 走看看