雇员系统

前面已经介绍了Zend studio工具的使用以及软件开发的基本阶段,下面就是我们第一个练习,雇员管理系统,从设计到实现来简单介绍下:

开发环境:

      服务器:基于Linux 2.618环境下配置PHP服务器

      Ide :  Zend studio

下面是基本的框架图:

    

    1、首先设计数据库

[plain]  view plain copy print ?
  1. 设计数据库  
  2. Admin  
  3. Create table admin(  
  4.     Id int primary key,  
  5.     Name varchar(32) not null,  
  6.     Password varchar(128) not null  
  7. );  
  8. Emp 雇员表  
  9. Create table emp(  
  10.     Id int primary key auto_increment,  
  11.     Name varchar(64) not null,  
  12.     Grade tinyint,  
  13.     Email varchar(64) not null,  
  14.     Salary float  
  15. )  
  16. 添加用户  
  17. insert into admin(id,name,password) value('124','admin',md5('admin'));  
  18.   
  19. insert into emp(name,grade,email,salary)  value('admin',’80’,’3789131@163.com’,10);  

      2、代码实现

         
  1. <!-- login.php -->  
  2.   
  3. <html>  
  4. <head>  
  5. <meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>  
  6.   
  7. </head>  
  8. <h1>管理员登陆系统</h1>  
  9. <form action="loginProcess.php" method="post">  
  10. <table>  
  11.     <tr><td>用户ID:</td><td><input type="text" name="id"/></td></tr>  
  12.     <tr><td>密    码:</td><td><input type="text" name="password"/></td></tr>  
  13.     <tr><td><input type="submit" value="用户登录"/></td>  
  14.     <td><input type="reset" value="重新填写"/></td></tr>  
  15. </table>  
  16. </form>  
  17. <?php   
  18.     if(!empty($_GET['errno'])){  
  19.         $errno=$_GET['errno'];  
  20.         if($errno==1){  
  21.             echo "</br><font color='black' size='3px'>你的用户名或者密码输入错误 </font> ";  
  22.         }else{  
  23.             echo "hello";  
  24.         }  
  25.     }  
  26. ?>  
  27. </html>  
  1. <!-- loginProcess.php -->  
  2. <?php  
  3. /** 
  4.  * 
  5.  * @author jsh 
  6.  * @version  
  7.  */  
  8.     //接受用户数据   
  9.     $id=$_POST['id'];  
  10.     $password=$_POST['password'];  
  11.       
  12.     //到数据库进行验证  
  13.     //链接数据库  
  14.     $mysql_con=mysql_connect("192.168.1.110:3306","root","");  
  15.     if(!$mysql_con){  
  16.         die("connect error");  
  17.      }  
  18.     //选择数据库  
  19.     mysql_select_db("manage",$mysql_con);  
  20.       
  21.     //验证  
  22.     $sql="select * from admin where id=$id";  
  23.     $res=mysql_query($sql,$mysql_con);  
  24.        
  25.     if(($row = mysql_fetch_assoc($res)) != ""){  
  26.         if(md5($password) == $row['Password']){  
  27.             $name = $row['Name'];  
  28.             header("Location:https://192.168.1.110/myphp/manage/empManage.php?name=$name");  
  29.             exit();  
  30.         }else{  
  31.             header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");  
  32.             //        //如果登陆不成 功,需要提示对话框显示用户名或者密码错误  
  33.             exit();  
  34.        }  
  35.     } else {  
  36.         header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");  
  37.         //       //如果登陆不成 功,需要提示对话框显示用户名或者密码错误  
  38.         exit();  
  39.     }  
  40.     mysql_free_result($res);  
  41.       
  42.       
  43.       
  44. //     //简单验证  
  45. //     if($id == "jsh" && $password == "1234567a"){  
  46. //      header("Location:https://192.168.1.110/myphp/manage/empManage.php");  
  47. //      exit();  
  48. //     }else{  
  49. //      //非法用户,跳转到登陆页面  
  50. //        header("Location:https://192.168.1.110/myphp/manage/login.php?errno=1");  
  51. //        //如果登陆不成 功,需要提示对话框显示用户名或者密码错误  
  52. //        exit();  
  53. //     }  
  54.       
  55.  ?>  
  1. <!-- empManage.php -->  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>  
  5. </head>  
  6.   
  7. <?php  
  8.     $name=$_GET['name'];  
  9.     echo "欢迎".$name."进入";  
  10.     echo "   <a href='login.php'>返回登陆界面</a></br>"  
  11. ?>  
  12.     <h1>主界面</h1>  
  13.     <a href='empList.php'>管理用户</a></br>  
  14.     <a href=''>添加用户</a></br>  
  15.     <a href=''>查询用户</a></br>  
  16.     <a href=''>退出系统</a></br>  
  17. </html>  


     下面是关于分页技术的介绍:

在分页中有几个变量是必须的:
$pageNow :显示第几页:用户输入
$pageCount:共有几页[]
$rowCount:共有多少条记录[数据库获取]
$pagesize:每页显示几条记录[人为定义]
 
计算pageCount 算法
 
<?php
    $pageCount=ceil($rowCount/$pagesize);
?>

显示从第几个数据开始显示多少数据的SQL语句(起始是 0)
[csharp]  view plain copy print ?
  1. select * from emp limit 1,3;  

查找有多少行SQL语句
[csharp]  view plain copy print ?
  1. Select count(Id) from emp;  

  1. <!-- emplist.php -->  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="content-tpe" content="text/html;charset-utf-8"/>  
  5. <title>雇员管理列表</title>  
  6. </head>  
  7.   
  8. <?php  
  9.     $mysql_con=mysql_connect("192.168.1.110:3306","root","");  
  10.     if(!$mysql_con){  
  11.         die("connect error");  
  12.     }  
  13.     //选择数据库  
  14.     mysql_select_db("manage",$mysql_con);  
  15.   
  16.       
  17.     /* 
  18.     $pageNow :显示第几页:用户输入 
  19.     $pageCount:共有几页[] 
  20.     $rowCount:共有多少条记录[数据库获取] 
  21.     $pagesize:每页显示几条记录[人为定义] 
  22.     */  
  23.       
  24.     $pagesize = 3;  
  25.     //获取共有多少记录  
  26.     $sql="select count(Id) from emp";  
  27.     $res=mysql_query($sql,$mysql_con);  
  28.     if($row=mysql_fetch_array($res)){  
  29.         $rowCount=$row[0];  
  30.     }  
  31.     mysql_free_result($res);  
  32.     $pageCount = ceil($rowCount/$pagesize);  
  33.     if(!empty($_GET['pageNow'])){  
  34.         $pageNow = $_GET['pageNow'];      
  35.     } else {  
  36.         $pageNow = 1;  
  37.     }  
  38.       
  39.     //验证'  
  40.     $sql="select * from emp limit ".($pageNow-1)*$pagesize.",$pagesize";  
  41.     $res=mysql_query($sql,$mysql_con);  
  42.     echo "<h1>雇员管理系统</h1>";  
  43.     echo "<table width='700px' border='1px'>";  
  44.     echo "<tr><th>Id</th><th>Name</th><th>Grade</th><th>Email</th><th>Salary</th><th>删除用户</th><th>修改用户</th></tr>";  
  45.       
  46.     while(($row=mysql_fetch_assoc($res)) != ""){  
  47.         echo "<tr><th>{$row['Id']}</th><th>{$row['Name']}</th><th>{$row['Grade']}</th>".  
  48.         "<th>{$row['Email']}</th><th>{$row['Salary']}</th><th><a href=''>删除用户</a></th>".  
  49.         "<th><a href=''>修改用户</a></th></tr>";  
  50.     }  
  51.     echo "</table>";  
  52.     /* 
  53.     //打印出页码的链接 
  54.     for($i=1;$i<=$pageCount;$i++){ 
  55.         echo "<a href='empList.php?pageNow=$i'><$i></a>"; 
  56.     } 
  57.     */  
  58.     //显示上一页和下一页  
  59.     if($pageNow>1){  
  60.         $prepage = $pageNow - 1;  
  61.         echo "<a href='empList.php?pageNow=$prepage'>上一页</a>";  
  62.     }  
  63.     if($pageNow<$pageCount){  
  64.         $nextpage = $pageNow + 1;  
  65.         echo "<a href='empList.php?pageNow=$nextpage'>下一页</a>";  
  66.     }  
  67.     //显示当前页和共有多少页  
  68.     echo "  当前页{$pageNow}/共{$pageCount}页";  
  69.       
  70.     //指定跳转到某页  
  71.     ?>  
  72.     <form action="empList.php" method="get">  
  73.       
  74.           跳转到:<input type="text" name="pageNow"/>  
  75.     <input type="submit" value="GO"/>  
  76.     </form>  
  77.       
  78. <?php   
  79.     mysql_free_result($res);  
  80. ?>  
  81.   
  82.   
  83. </html>  

这里我们必须提到,在软件开发中有几个重要的开发模式

1、Model1 模式

2、分层模式(界面、业务逻辑分离)

3、Mvc 模式

 

Model1模式最重要的特点就是没有分层的概念,也就是说界面显示和业务逻辑的处理放在一个文件中来完成。

缺点:

1)、表现层和业务逻辑层混合在一起(乱!)

2)、在开发中,不利于多人的协同开发

3)、不利于后期的维护

优点:

简单、开发速度比较快

比较适合开发小的项目

分层模式 基本概念是:把界面和业务分层-〉结构清晰,利于分工开发

 

Mvc模式,基本概念:强制把数据的输入,数据的处理,数据的显示


 下面章节将介绍 分层模式及Mvc模式实现!


参考资料:
传智播客视频
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值