workday3~4
这两天算是把一个模块的功能做完了,功能是数据统计,即按输入的时间统计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的更多相关文章
随机推荐
- Python爬虫学习之获取网页源码
偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...
- Windows下快速安装Xgboost(无需Git或者VS)
xgboost的全称是eXtreme Gradient Boosting,现在已经风靡Kaggle.天池.DataCastle.Kesci等国内外数据竞赛平台,是比赛夺冠的必备大杀器!如果把数据竞赛比 ...
- Linux环境g++编译GDAL动态库
一.编译步骤 解压下载的GDAL源程序,并在命令行中切换到解压目录. tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3 GDAL可通过configure来实现一些自定 ...
- 2-LPC1778之GPIO
其实这篇文章主要是介绍自己为其写的GPIO库,自己借鉴了原子写的STM32,野火写的K60,还有LPC官方库,然后按照自己平时用的,然后写了一个..其实写库的主要目的是为了方便(主要是方便操作)以后自 ...
- 基于Spring Boot的图片上传
package com.clou.inteface.domain.web.user; import java.io.File; import java.io.IOException; import j ...
- 卫星导航低噪声放大器芯片(LNA)-AT2659
AT2659 是一款专门针对中国 BDS(北斗卫星导航系统),美国的 GPS,俄罗斯的 GLONASS 和欧盟的 GALILEO 导航系统应用而设计的高增益.低噪声系数射频放大器. AT2659 芯 ...
- LVM学习
LVM Logical Volume Manager Volume management creates a layer of abstraction over physical storage, a ...
- A Bayesian election prediction, implemented with R and Stan
If the media coverage is anything to go by, people are desperate to know who will win the US electio ...
- 01-.Net编程机制
.NetFarmwark特点: 多平台:该系统可以在广泛的计算机上运行,包括从服务器.桌面机到PDA和移动电话. 行业标准:该系统使用行业标准的通信协议,比如XML.HTTP.SOAP和WSDL. 安 ...
- 搞定python多线程和多进程
1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...