<?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);
} }

PHP 处理历史数据的伪代码的更多相关文章

  1. 从AdventureWorks学习数据库建模——保留历史数据

    在业务需求中,经常需要我们在系统中能够记录历史信息,能够查看到历史变动情况,这时我们可以通过增加开始结束时间字段来记录数据的历史版本.对数据的历史记录主要分为:关系.属性历史,实体历史和变更历史. 关 ...

  2. QuickSort 快速排序 基于伪代码实现

    本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4737492.html 伪代码 quicksort(A, lo, hi) if lo < hi p ...

  3. HeapSort 堆排序 基于伪代码实现

    此文原创, http://www.cnblogs.com/baokang/p/4735431.html ,禁止转载 GIF 动态图 伪代码 /* From Wikipedia, the free en ...

  4. 《大道至简》第一章——编程的精义_读后感(Java伪代码形式)

    <大道至简>第一章——编程的精义_读后感(Java伪代码形式)1.愚公移山//愚公为团体的项目组织者.团体经理.编程人员.技术分析师等//子孙荷担者三人为三名技术人员//遗男为外协//目标 ...

  5. 第九章伪代码编程过程 The PseudoCode Programming Process

    目录: 1.创建类和子程序的步骤概述 2.伪代码 3.通过伪代码编程过程创建子程序 4.伪代码编程过程的替代方案 一.创建类和子程序的步骤概述 (1)创建一个类的步骤 1.创建类的总体设计 2.创建类 ...

  6. 《大道至简》之第一章:编程的精义读后感(JAVA伪代码)

    ——大道至简之编程的精义读后感(JAVA伪代码) import.java.大道至简.*; import.java.愚公移山.*; public class YuGongYiShan{ 愚公 = {项目 ...

  7. 清除数据库中大于10W行的垃圾历史数据

    -- =============================================-- Author: <Author,Name,龙鸿轩>-- Create date: &l ...

  8. cocos2dx中帧循环的伪代码实现

    1.在游戏开发中,帧率很大程度上体现了游戏的流畅度,帧循环是游戏中一个很重要的概念 2.下面用伪代码实现了cocos2dx中的帧循环 /*main函数调用*/ CCApplication::share ...

  9. 【Latex】如何在Latex中插入伪代码 —— clrscode3e

    1. 简介clrscode3e是<算法导论(第三版)>使用的伪代码的宏包,clrs其实表示的是Cormen.Leiserson.Rivest和Stein.它有个更老的版本clrscode, ...

随机推荐

  1. STM32—ADC详解

    文章目录 一.ADC简介 二.ADC功能框图讲解 1.电压输入范围 2.输入通道 3.转换顺序 4.触发源 5.转换时间 6.数据寄存器 7.中断 8.电压转换 三.初始化结构体 四.单通道电压采集 ...

  2. Flink项目实战(一)---核心概念及基本使用

    前言.flink介绍: Apache Flink 是一个分布式处理引擎,用于在无界和有界数据流上进行有状态的计算.通过对时间精确控制以及状态化控制,Flink能够运行在任何处理无界流的应用中,同时对有 ...

  3. COM笔记-CoCreateInstance

    CoCreateInstance 创建组件的最简单的方法是使用CoCreateInstance函数. 在COM库中包含一个用于创建组件的名为CoCreateInstance的函数.此函数需要一个CLS ...

  4. Quartz任务调度(3)存储与持久化操作配置详细解

    内存存储RAMJobStore Quartz默认使用RAMJobStore,它的优点是速度.因为所有的 Scheduler 信息都保存在计算机内存中,访问这些数据随着电脑而变快.而无须访问数据库或IO ...

  5. 十四:Servlet3.0的动态

    动态的创建是为了简化配置文件的.对于我们创建的servlet,filter和listener后可以使用.这也是注解的另外一种替代方式. package com.hotusm.dynamic; impo ...

  6. docker下gitlab(redis)安装配置使用(完整版)

    ps:如果是云主机,需添加安全组开放相应端口(关联相应实例),防火墙开放端口或直接关闭 https://www.jianshu.com/p/080a962c35b6 将其中external_url换为 ...

  7. JAVA虚拟机中的堆内存Heap与栈内存Stack

    原文链接:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html 深入Java虚拟机:JVM中的Stack和Heap 在JV ...

  8. Java程序设计学习笔记(四)—— GUI

    时间:2016-3-24 11:24 天道酬勤  --GUI(图形用户界面)    1.GUI        Graphical User Interface(图形用户接口).        用图形的 ...

  9. C# - 习题02_写出程序的输出结果a.Fun()

    时间:2017-08-23 整理:byzqy 题目:写出程序的输出结果: 文件:Program.cs 1 using System; 2 3 namespace Interview1 4 { 5 pu ...

  10. jquery mobile常用的data-role类型

    data-role参数表: page        页面容器,其内部的mobile元素将会继承这个容器上所设置的属性 header     页面标题容器,这个容器内部可以包含文字.返回按钮.功能按钮等 ...