这两天算是把一个模块的功能做完了,功能是数据统计,即按输入的时间统计X小时各个服务器status的数量以及各个服务器的信息,学到了不少东西,为了避免忘记,先记录,有空再整理一下。

1.时间戳的问题

选择时区为中华人民共和国:date_default_timezone_set("PRC");

时间戳转换成标准时间格式:$standardTime = date("Y-m-d H:i:s",$time);

标准时间格式转换为时间戳:$time = strtotime($time)

2.用session来做php缓存

有些时候需要频繁读取数据库的数据,为了避免重复读取可以采用缓存

存 $_SESSION['user']= "caimuqing"

取 $_SESSION['user']

删除session里面的某些数据 unset($_SESSION['user'])

请教了下师兄,师兄建议用redis作为缓存,另外文件也是可以,有空研究一下

3.由于php版本的升级,所有对数据库的操作mysql都改为,mysqli

4.记录一下php连接数据库的方法

 public static function connectDb(){
$con = mysqli_connect("localhost","root","basketball");
if(!$con){
die('could not connect ');
}
return $con;
}

5.创建表

   public static function createTempTable()
{
self::dropTempTable();
$con = self::connectDb();
mysqli_select_db($con,self::$db_name);
$sqlCreate = "CREATE TABLE `tmp_check_success` (
`id` int NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`id`),
`count_success` varchar() NULL,
`count_1` varchar() NULL,
`count_11` varchar() NULL,
`count_3` varchar() NULL,
`count_5` varchar() NULL);";
mysqli_query($con,$sqlCreate);
}

6删除表

  public static function dropTempTable(){
$con = self::connectDb();
mysqli_select_db($con,self::$db_name);
$sql = "DROP TABLE IF EXISTS tmp_check_success;";
mysqli_query($con,$sql);
}

7.简单查询

  public static function getVasStatus(){
$con = self::connectDb();
mysqli_select_db($con,self::$db_name);
$allStatus = array(array());
$oneRow = array();
$sql = "SELECT * FROM `tmp_check_success`;";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)){
$oneRow['id'] = $row[0];
$oneRow['count_success'] = $row[1];
$oneRow['count_1'] = $row[2];
$oneRow['count_11'] = $row[3];
$oneRow['count_3'] = $row[4];
$oneRow['count_5'] = $row[5];
$allStatus[] = $oneRow;
}
return $allStatus;
}

8.php往数组里面插入数据可以用

array_push($resultDetail,$oneRow);

$resultDetail是一个插入的目的地,$oneRow是带插入值

9.mvc模式的一些理解

就是model view controller

model是指业务逻辑层,基本所有对数据库的操作都会在这一层完成,可以构建class来完成

controller是指控制层,相当于遥控器,指挥完成相应的行为,其本身写的较为简洁,一切交给model来存取数据,可以调用class的方法,本身不写函数

view是视图层,就是展示控制层传送过来的数据

这三层可以分工独立完成的

10:Thinkphp是用smarty做模板引擎的,做完这个项目好好研究一下TP

workday3~4的更多相关文章

随机推荐

  1. React入门---事件与数据的双向绑定-9

    上一节中,我们是从父组件给子组件传送数据,要实现事件与数据的双向绑定,我们来看如何从子组件向父组件传送数据; 接触之前,我们看一些里面函数绑定的知识: 例:通过点击事件改变state的age属性值: ...

  2. vue2入坑随记(一)

    都说Vue2简单,上手容易,但小马过河,自己试了才晓得,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前随便拿全局变量和修改dom的锤子不能用了,变换到关注数据本身.vue的 ...

  3. Java类加载和卸载的跟踪

    博客搬家自https://my.oschina.net/itsyizu/blog/ 什么是类的加载和卸载 Java程序的运行离不开类的加载,为了更好地理解程序的执行,有时候需要知道系统加载了哪些类.一 ...

  4. SQLServer树形数据结构的数据进行数据统计

    前言 前几天朋友问我,关于SQLServer数据库中对树形结构的表数据统计问题,需求大致如下: 分类表(递归数据),A的子分类是B,B的子分类是C--分类关系不间断,A为第一层,B为第二层,C为第三层 ...

  5. 【JavaScript中的this详解】

    前言 this用法说难不难,有时候函数调用时,往往会搞不清楚this指向谁?那么,关于this的用法,你知道多少呢? 下面我来给大家整理一下关于this的详细分析,希望对大家有所帮助! this指向的 ...

  6. 唯独ie浏览器缓存ajax请求

    用fiddler调试http请求,在ie浏览器下,如果请求命中缓存,fiddler不会包含该请求.但是在chrome下会包含缓存的请求,Result显示为304. ie浏览器还会缓存通过ajax请求的 ...

  7. Python 随机生成有效手机号码及身份证

    中国那么大,人那么多,几乎人手一部手机.手机号码已经作为各大互联网站的注册账户.同样,身份证更是如此.以下是生成有效手机号码和身份证号. 身份证需要下载districtcode.txt这个文件:htt ...

  8. Python LED

    led.py from gpiozero import LED from time import sleep led = LED(17) while True: print "start c ...

  9. Unity应用架构设计(10)——绕不开的协程和多线程(Part 2)

    在上一回合谈到,客户端应用程序的所有操作都在主线程上进行,所以一些比较耗时的操作可以在异步线程上去进行,充分利用CPU的性能来达到程序的最佳性能.对于Unity而言,又提供了另外一种『异步』的概念,就 ...

  10. Js实现京东无延迟菜单效果(demo)

    一个端午节,外面人山人海,又那么热,我认为宅在家里看看慕课网,充实自己来的实际... 这是一个js实现京东无延迟菜单效果,感觉很好,分享给大家... 1.开发基本的菜单结构 2.开发普通的二级菜单效果 ...