前面已經介紹了Zend studio工具的使用以及軟件開發的基本階段,下面就是我們第一個練習,雇員管理系統,從設計到實現來簡單介紹下:
### 開發環境:
服務器:基于Linux 2.618環境下配置PHP服務器
Ide : ?Zend studio
下面是基本的框架圖:

1、首先設計數據庫
~~~
設計數據庫
Admin
Create table admin(
Id int primary key,
Name varchar(32) not null,
Password varchar(128) not null
);
Emp 雇員表
Create table emp(
Id int primary key auto_increment,
Name varchar(64) not null,
Grade tinyint,
Email varchar(64) not null,
Salary float
)
添加用戶
insert into admin(id,name,password) value('124','admin',md5('admin'));
insert into emp(name,grade,email,salary) value('admin',’80’,’3789131@163.com’,10);
~~~
2、代碼實現
~~~
<!-- login.php -->
<html>
<head>
<meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>
</head>
<h1>管理員登陸系統</h1>
<form action="loginProcess.php" method="post">
<table>
<tr><td>用戶ID:</td><td><input type="text" name="id"/></td></tr>
<tr><td>密 碼:</td><td><input type="text" name="password"/></td></tr>
<tr><td><input type="submit" value="用戶登錄"/></td>
<td><input type="reset" value="重新填寫"/></td></tr>
</table>
</form>
<?php
if(!empty($_GET['errno'])){
$errno=$_GET['errno'];
if($errno==1){
echo "</br><font color='black' size='3px'>你的用戶名或者密碼輸入錯誤 </font> ";
}else{
echo "hello";
}
}
?>
</html>
~~~
~~~
<!-- loginProcess.php -->
<?php
/**
*
* @author jsh
* @version
*/
//接受用戶數據
$id=$_POST['id'];
$password=$_POST['password'];
//到數據庫進行驗證
//鏈接數據庫
$mysql_con=mysql_connect("192.168.1.110:3306","root","");
if(!$mysql_con){
die("connect error");
}
//選擇數據庫
mysql_select_db("manage",$mysql_con);
//驗證
$sql="select * from admin where id=$id";
$res=mysql_query($sql,$mysql_con);
if(($row = mysql_fetch_assoc($res)) != ""){
if(md5($password) == $row['Password']){
$name = $row['Name'];
header("Location:https://192.168.1.110/myphp/manage/empManage.php?name=$name");
exit();
}else{
header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");
// //如果登陸不成 功,需要提示對話框顯示用戶名或者密碼錯誤
exit();
}
} else {
header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");
// //如果登陸不成 功,需要提示對話框顯示用戶名或者密碼錯誤
exit();
}
mysql_free_result($res);
// //簡單驗證
// if($id == "jsh" && $password == "1234567a"){
// header("Location:https://192.168.1.110/myphp/manage/empManage.php");
// exit();
// }else{
// //非法用戶,跳轉到登陸頁面
// header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");
// //如果登陸不成 功,需要提示對話框顯示用戶名或者密碼錯誤
// exit();
// }
?>
~~~
~~~
<!-- empManage.php -->
<html>
<head>
<meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>
</head>
<?php
$name=$_GET['name'];
echo "歡迎".$name."進入";
echo "???<a href='login.php'>返回登陸界面</a></br>"
?>
<h1>主界面</h1>
<a href='empList.php'>管理用戶</a></br>
<a href=''>添加用戶</a></br>
<a href=''>查詢用戶</a></br>
<a href=''>退出系統</a></br>
</html>
~~~
### 下面是關于分頁技術的介紹:
在分頁中有幾個變量是必須的:
~~~
$pageNow :顯示第幾頁:用戶輸入
$pageCount:共有幾頁[]
$rowCount:共有多少條記錄[數據庫獲取]
$pagesize:每頁顯示幾條記錄[人為定義]
~~~
計算pageCount 算法
~~~
<?php
?? $pageCount=ceil($rowCount/$pagesize);
?>
~~~
顯示從第幾個數據開始顯示多少數據的SQL語句(起始是 0)
~~~
select * from emp limit 1,3;
~~~

查找有多少行SQL語句
~~~
Select count(Id) from emp;
~~~
~~~
<!-- emplist.php -->
<html>
<head>
<meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>
<title>雇員管理列表</title>
</head>
<?php
$mysql_con=mysql_connect("192.168.1.110:3306","root","");
if(!$mysql_con){
die("connect error");
}
//選擇數據庫
mysql_select_db("manage",$mysql_con);
/*
$pageNow :顯示第幾頁:用戶輸入
$pageCount:共有幾頁[]
$rowCount:共有多少條記錄[數據庫獲取]
$pagesize:每頁顯示幾條記錄[人為定義]
*/
$pagesize = 3;
//獲取共有多少記錄
$sql="select count(Id) from emp";
$res=mysql_query($sql,$mysql_con);
if($row=mysql_fetch_array($res)){
$rowCount=$row[0];
}
mysql_free_result($res);
$pageCount = ceil($rowCount/$pagesize);
if(!empty($_GET['pageNow'])){
$pageNow = $_GET['pageNow'];
} else {
$pageNow = 1;
}
//驗證'
$sql="select * from emp limit ".($pageNow-1)*$pagesize.",$pagesize";
$res=mysql_query($sql,$mysql_con);
echo "<h1>雇員管理系統</h1>";
echo "<table width='700px' border='1px'>";
echo "<tr><th>Id</th><th>Name</th><th>Grade</th><th>Email</th><th>Salary</th><th>刪除用戶</th><th>修改用戶</th></tr>";
while(($row=mysql_fetch_assoc($res)) != ""){
echo "<tr><th>{$row['Id']}</th><th>{$row['Name']}</th><th>{$row['Grade']}</th>".
"<th>{$row['Email']}</th><th>{$row['Salary']}</th><th><a href=''>刪除用戶</a></th>".
"<th><a href=''>修改用戶</a></th></tr>";
}
echo "</table>";
/*
//打印出頁碼的鏈接
for($i=1;$i<=$pageCount;$i++){
echo "<a href='empList.php?pageNow=$i'><$i></a>";
}
*/
//顯示上一頁和下一頁
if($pageNow>1){
$prepage = $pageNow - 1;
echo "<a href='empList.php?pageNow=$prepage'>上一頁</a>";
}
if($pageNow<$pageCount){
$nextpage = $pageNow + 1;
echo "<a href='empList.php?pageNow=$nextpage'>下一頁</a>";
}
//顯示當前頁和共有多少頁
echo "??當前頁{$pageNow}/共{$pageCount}頁";
//指定跳轉到某頁
?>
<form action="empList.php" method="get">
跳轉到:<input type="text" name="pageNow"/>
<input type="submit" value="GO"/>
</form>
<?php
mysql_free_result($res);
?>
</html>
~~~
這里我們必須提到,在軟件開發中有幾個重要的開發模式
1、Model1 模式
2、分層模式(界面、業務邏輯分離)
3、Mvc 模式
Model1模式最重要的特點就是沒有分層的概念,也就是說界面顯示和業務邏輯的處理放在一個文件中來完成。
缺點:
1)、表現層和業務邏輯層混合在一起(亂!)
2)、在開發中,不利于多人的協同開發
3)、不利于后期的維護
優點:
簡單、開發速度比較快
比較適合開發小的項目
分層模式 基本概念是:把界面和業務分層-〉結構清晰,利于分工開發
Mvc模式,基本概念:強制把數據的輸入,數據的處理,數據的顯示
下面章節將介紹 分層模式及Mvc模式實現!
參考資料:
傳智播客視頻
- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP開發環境配置說明
- PHP基礎數據類型及運算符介紹
- 走進PHP函數
- 走進位運算
- 走進數組及相關數組函數
- 面向對象的編程(類與對象)
- 面向對象的編程(類成員方法用法)
- 構造方法,析構方法
- static,global用法
- 靜態方法
- 面向對象的編程方法
- 接口方法
- 接口VS繼承、final、const
- 錯誤及異常處理機制、錯誤日志
- HTTP協議深度剖析
- 文件下載
- PHP數據庫編程
- 數據庫編程(2)
- 超全局變量
- Zend studio 開發環境入門
- 雇員管理系統(1)
- 雇員管理系統(2)
- 會話技術(cookie session)
- 會話技術 session場景使用介紹!
- PHP.in中session和cookie的配置說明
- PHP文件編程
- 報表及繪圖技術
- 報表及繪圖技術(jpgraph庫使用,Linux安裝及配置說明)
- XML基本語法及DTD介紹
- XML編程(Dom技術)
- XML編程(Xpath技術,simpleXml技術)基礎入門
- 網上支付平臺PHP版本
- javascript基礎入門