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);
} }
PHP 处理历史数据的伪代码的更多相关文章
- 从AdventureWorks学习数据库建模——保留历史数据
在业务需求中,经常需要我们在系统中能够记录历史信息,能够查看到历史变动情况,这时我们可以通过增加开始结束时间字段来记录数据的历史版本.对数据的历史记录主要分为:关系.属性历史,实体历史和变更历史. 关 ...
- QuickSort 快速排序 基于伪代码实现
本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4737492.html 伪代码 quicksort(A, lo, hi) if lo < hi p ...
- HeapSort 堆排序 基于伪代码实现
此文原创, http://www.cnblogs.com/baokang/p/4735431.html ,禁止转载 GIF 动态图 伪代码 /* From Wikipedia, the free en ...
- 《大道至简》第一章——编程的精义_读后感(Java伪代码形式)
<大道至简>第一章——编程的精义_读后感(Java伪代码形式)1.愚公移山//愚公为团体的项目组织者.团体经理.编程人员.技术分析师等//子孙荷担者三人为三名技术人员//遗男为外协//目标 ...
- 第九章伪代码编程过程 The PseudoCode Programming Process
目录: 1.创建类和子程序的步骤概述 2.伪代码 3.通过伪代码编程过程创建子程序 4.伪代码编程过程的替代方案 一.创建类和子程序的步骤概述 (1)创建一个类的步骤 1.创建类的总体设计 2.创建类 ...
- 《大道至简》之第一章:编程的精义读后感(JAVA伪代码)
——大道至简之编程的精义读后感(JAVA伪代码) import.java.大道至简.*; import.java.愚公移山.*; public class YuGongYiShan{ 愚公 = {项目 ...
- 清除数据库中大于10W行的垃圾历史数据
-- =============================================-- Author: <Author,Name,龙鸿轩>-- Create date: &l ...
- cocos2dx中帧循环的伪代码实现
1.在游戏开发中,帧率很大程度上体现了游戏的流畅度,帧循环是游戏中一个很重要的概念 2.下面用伪代码实现了cocos2dx中的帧循环 /*main函数调用*/ CCApplication::share ...
- 【Latex】如何在Latex中插入伪代码 —— clrscode3e
1. 简介clrscode3e是<算法导论(第三版)>使用的伪代码的宏包,clrs其实表示的是Cormen.Leiserson.Rivest和Stein.它有个更老的版本clrscode, ...
随机推荐
- 011 FPGA千兆网TCP通信【转载】
一.LWIP 首先通过上面的简单分析,我们应该很清楚一件事:TCP协议很复杂,光握手过程就需要"三次握手.四次挥手"的复杂过程,不是特别适合FPGA的纯逻辑实现,因为用FPGA实现 ...
- Android模块化开发实践
一.前言 随着业务的快速发展,现在的互联网App越来越大,为了提高团队开发效率,模块化开发已经成为主流的开发模式.正好最近完成了vivo官网App业务模块化改造的工作,所以本文就对模块化开发模式进行一 ...
- 【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
问题描述 在.Net Core 5.0 项目中,添加 Microsoft.Extensions.Logging.AzureAppServices 和 Microsoft.Extensions.Logg ...
- 在Activity和附贴的Fragment中同时使用多Surface错乱解决
SurfaceView因为独特的双缓冲机制,在android应用中十分普遍,视频播放器.摄像机预览等都会用到,如果在两个Fragment或者一个Fragment和Activity同时使用都会造成无法正 ...
- 通俗易懂理解——dijkstra算法求最短路径
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径.它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止 ###基本思想 通过Dij ...
- mfc 常用的知识点
在MFC中引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口.因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDoc ...
- JS对象创建的几种方法
最近一直在看JS高级程序设计这本书,有空来梳理一下几种创建对象的方式.话不多说,直接步入正题. 第一种:Object构造函数创建 var Person = new Object(); Person.n ...
- Google 开发console查找元素或方法
F12 后 在console中输入: $("#R")[0] 查找ID 为R的元素, 如需打印出元素属性值,则输入: console.dir($("#R")[0] ...
- Difference between trustStore and keyStore in Java - SSL
Difference between trustStore and keyStore in Java - SSL trustStore vs keyStore in Java trustStore ...
- Dijkstra链路状态选路算法