前言
走一个雇员管理系统的开发,终于能实战演练一些东西了。
学习目标:
1. 熟练编写规范的项目需求设计说明书
2. 熟练编写项目数据库设计说明书
3. 提升数据库建模设计能力
4. 培养良好的沟通能力和团队合作精神
5. 完全OOP设计思想
6. 培养良好的编码习惯,代码编写规范。
正文
项目入门先知
phpstorm 设置默认编码
phpstorm默认编码格式为GBK
可通过 File —> Settings —> Editor —> File Encodings
将文件/项目默认的编码改为UTF-8
phpstorm 代码提示功能
File —> Power Save Mode
选择关闭即可
phpstorm 常用快捷键
ctrl + d 复制当前行
phpstorm + xDebug环境配置
解决中文乱码
header("content-type:text/html; charset=utf-8");
项目遇到的问题及解决方案
让div水平垂直居中的几种方法(需要多看)
设置input搜索框的颜色
input{border:1px solid red;background-color:transparent;}
打印数据库内容
$mysql=new mysqli("localhost","root","root","hr");
if($mysql->connect_error){
die("数据库连接失败").$mysql->connect_error;
}
echo "<table width='700px' border='1' >";
//打印表头
echo "<tr>";
$sql = "select * from emp";
$res = $mysql->query($sql);
while($col=$res->fetch_field() ) {
echo "<th>{$col->name}</th>";
}
echo "</tr>";
while ($row = $res->fetch_row() ){
echo "<tr>";
foreach ($row as $val){
echo "<td>$val</td>";
}
echo "</tr>";
}
echo "</table>";
$res->free();
$mysql->close();
分页显示
分页中必须使用的变量
$pageNow --> 当前页 用户输入
$pageCount --> 总共有几页
$rowCount --> 总共有多少条记录 [数据库获取]
$pageSize --> 每页显示几条记录 [程序员自己定]
/*实例*/
$pageSize = 4; //每页有四条记录
$rowCount = $res->num_rows; //总共有多少条记录
//$pageNow = 1; //第一页 用户指定
if(isset($_GET['pageNow'])) {
$pageNow = $_GET['pageNow'];
}else {
$pageNow = 1;
}
$pageCount = ceil($rowCount/$pageSize);
$test = ($pageNow-1) * $pageSize;
$sql = "select * from emp limit $test,$pageSize";
$res = $mysql->query($sql);
删除整个数据表内容
truncate table table_name; //效率高
delete * from table_name; //需要写服务器log
后记
一个项目,重构了好几次代码。 最主要的还是逻辑有些乱,直接上手代码,导致效率很低。
大概过程是 业务逻辑 ->框架改进 -> 代码重构 -> 面向对象 -> 安全性和拓展性考虑 -> 优化算法 -> 前端显示
使用M(Model)V(View)C(Controler)模式,把用户的输入,数据的处理,页面的显示分别处理,易于项目的维护和拓展。