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的更多相关文章
随机推荐
- Spring BeanFactory源码学习
一.BeanFactory BeanFactory是Spring IOC容器的基础,是IOC容器的基础接口,所有的容器都是从它这里继承实现而来.BeanFactory提供了最基本的IOC容器的功能,即 ...
- ImageIO.write不好用了
今天奇怪的发现这个下面不好使了,即用ImageIO把图片写入网络流中,第一次还好使,对于同一个SocketOutputStream,第二次使用write方法就不好使了,变成了死等. 网上搜了资料搜不到 ...
- 销量预测和用户行为的分析--基于ERP的交易数据
写在前面: 这段时间一直都在看一些机器学习方面的内容,其中又花了不少时间在推荐系统这块,然后自己做了一套简单的推荐系统,但是跑下来的结果总觉得有些差强人意,我在离线实验中得到Precision,Rec ...
- vue-router 中router-view不能渲染
最近在做一个vue的项目,其中使用了vue2.0,vue-router2.0.在使用vue-router的时候跳了一个很大的坑,router-view不能渲染,花费了好多时间终于发现了原因. 项目目录 ...
- Maven学习(三)
maven相关概念 maven坐标 Maven世界拥有大量构建,当我们需要引用依赖包是,需要用一个用来唯一标识去确定唯一的一个构建.如果拥有了统一规范,就可以把查找工作交给机器. 类似于空间找点的坐标 ...
- javaWeb学习总结(11)- 监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...
- JS Event事件流(冒泡机制、捕获机制、事件绑定)
1.事件流 事件流:从页面中接收事件的顺序.也就是说当一个事件产生时,这个事件的传播过程,就是事件流. IE的事件流 IE中的事件流叫事件冒泡:事件冒泡:事件开始时由最具体的元素接收,然后逐级向上传播 ...
- dns劫持分析
最近在做dns解析,关注的重点在查询域名ns记录上,异常日志中捕获到一个域名,dig查询: 查询请求类型为ns,dig结果确只有一条A记录.处于好奇,查询类型改为a类型: 这个域名dig 查询A记录, ...
- VR全景智慧城市—你的掌上步行街
"春风十里,不如有你",不知不觉间,身边的人已对VR不再陌生,VR眼镜的热销,VR体验店的火爆,VR游戏的向往等等.可见VR就是为生活而诞生! 2015年被称作VR行业的产业元年, ...
- characterEncodingFilter作用
package com.demo.test; import java.io.IOException; import javax.servlet.Filter; import javax.servlet ...