基于PHP的工资管理系统.docx
《基于PHP的工资管理系统.docx》由会员分享,可在线阅读,更多相关《基于PHP的工资管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
基于PHP的工资管理系统
基于PHP工资管理系统
完成时间:
2014年10月
一、背景
数据库技术是数据处理中最先进的技术,已达到空前的普及和应用。
Web设计可用性概念的重要性日益增强,如今的WEB开发无论是前台界面的表现形式与技术,还是后台数据的计算、管理和维护都已发生了深刻的变化。
通过集中实践上机编程,并结合典型系统进行分析,使学生较为系统地掌握数据库系统的基本开发方法,并能结合实践运用数据库设计理论设计出满足一定规范的基于Web的数据库应用系统,从而有效的加深学生对所学理论知识的理解和掌握,提高学生的系统开发能力和实践应用能力。
二、需求分析
1.系统功能的基本要求:
员工每个工种基本工资的设定;
每个工种的工资比率;
新员工的注册方案;
员工的查找方案;
员工基本工资信息的修改与删除;
2.数据库要求
数据库中包含员工的工资设定表;
数据库中包含已设定的员工信息;
数据库中包含每个员工的比率;
三、系统功能模块分析
系统分为几个主页面,应包含:
主页面:
即进入WEB的标准页面,包含索引功能;
新员工注册页面:
包含新员工的注册与信息设定;
工资设定页面:
包含各工种的工资设定及比率;
员工信息编辑页面:
包含查找、修改和删除员工信息;
四、数据库概念结构
查询系统
五、程序设计
1.运行环境easyeclipseforphp.Xampp
2.开发环境easyeclipseforphp.
本次使用PHP进行代码的编写与页面的创作,虽然界面美工方面颇有不足,但总也算完成一个完整的系统。
3.模块关系图
4.模块功能
其中进行系统整体变量设置与调用代码的模块为:
1.php2.phpconfig.phpglobal.php
下面介绍下主要的模块:
Home.php
此页面为主页面,包含登陆索引,此页面可查找并查看员工信息,包括工种,工资和年终奖。
而且此页面可以进入注册页面和设定页面。
Gzsd.php
此页面为工资设定页面,通过此页面可以设置各个工种的基本工资和比率。
Register.php
此页面为注册页面,通过此模块可以注册员工的信息,包括工种,比率等。
Update.php
此页面为计算年终总平均工资页面,由此页面可以进行员工的整体操作。
5.模块运行效果
开启服务器,登陆10.91.4.11/1/home.php,进入如下页面
点击新员工注册进入如下页面
写入相应信息,成功。
返回主页面:
点击工种工资设计:
设计基本工资和比率;
返回主页面
对已有工人进行查询并查看得到如下界面
输入基本工资及各月考勤,津贴得到年终平均工资。
六、程序代码
1.php
php
include_once("global.php");
header('Content-Type:
text/html;charset=GB2312');
$gz=$_GET['gz'];
$sql="select*fromgzgz";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{
if($gz==$row[gz])echo$row[jbgz]."元";
}
?
>
2.php
php
include_once("global.php");
header('Content-Type:
text/html;charset=GB2312');
$dj=$_GET['dj'];
$gz=$_GET['gz'];
$sql="select*fromgzgz";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{
if($gz==$row[gz]){
$a=pow($row['bl'],$_GET['dj']-1);
$b=$row['jbgz']*$a;
echo$b;
}
}
?
>
Config.php
php
$host="localhost";
$p_username="root";
$password="135510";
$db="gz";
$coding="gbk";
?
>
Global.php
php
session_start();
include_once('./config.php');
include_once('./mysql_class.php');
include_once('./page_class.php');
$db=newmysql($host,$p_username,$password,$db,$coding);
?
>
Gzsd.php
php
include_once("global.php");
$db->select("gzgz","*","");
if($_POST[sub]){
for($i=1;$i=6;$i++){
$db->update("gzgz","jbgz='$_POST[jbgz]',bl='$_POST[bl]'","id='$i'");
header("location:
'./home.php'");
}
}
?
>
工种基本工资比率
|
php
while($result=$db->fetch_row()){
?
>
=$result[1]? > | =$result[2]? >> | =$result[3]? >> | php
}
?
>
|
---|
Home.php
php
include_once("global.php");
if($_GET['del']){//删除数据
$id=$_GET['del'];
$db->delete("gzb","id='$id'");
$db->delete("jt","y_id='$id'");
$db->delete("kqb","y_id='$id'");
$db->delete("ygxx","y_id='$id'");
}
if($_GET[out]=='loginout'){
session_destroy();
header("location:
./login.php");
}
?
>
新员工注册
工种工资设计
姓名:
返回
姓名工种 | 等级基本工资考勤、津贴/工资、年终奖
php
$db1=mysql_query("selectidfromgzb");
$num=mysql_num_rows($db1);
pageft($num,20);
if($firstcount<0)
$firstcount=0;
if(!
isset($_POST['sub'])){
$db->select_limit("gzb","*","",$firstcount,$displaypg);
}
else{
echo"11111";
$name=$_POST['xm'];
$db->select_limit("gzb","*","xmlike'%$_POST[xm]%'",$firstcount,$displaypg);
}
while($result=$db->fetch_row()){
?
>
=$result[1]? > | =$result[3]? > | =$result[2]? > | php echo$result[4]? > | del= =$result[0]? >">删除/id= =$result[0]? >">修改、查看 | php
}
?
>
=$pagenav?
>
|
Mysql_class.php
php
classmysql{
private$host;
private$user;
private$password;
private$db;
private$coding;
private$sql;
private$que;
function__construct($host,$user,$password,$db,$coding){
$this->host=$host;
$this->user=$user;
$this->password=$password;
$this->db=$db;
$this->coding=$coding;
$this->connect();
}
functionconnect(){
$con=mysql_connect($this->host,$this->user,$this->password);
if(!
mysql_select_db($this->db,$con)){
$this->show_error("数据库不可用:
",$this->db);
}
mysql_query("setnames$this->coding");
}
functionquery($sql){
//echo$sql."
";
if($sql==""){
$this->show_error("SQL语句错误","查询语句SQL为空");
}
$que=mysql_query($sql);
if(!
$que){
$this->show_error("SQL语句错误",$sql);
}
//echo$que;
$this->que=$que;
return$this->que;
}
functionselect($table,$name,$condition){
$condition=$condition?
"where".$condition:
NULL;
$this->query("select$namefrom$table$condition");
}
functionselect_limit($table,$name,$condition,$pageval,$pagesize){
$condition=$condition?
"where".$condition:
NULL;
$this->query("select$namefrom$table$conditionlimit$pageval,$pagesize");
}
functionupdate($table,$con,$condition){
$condition=$condition?
"where".$condition:
NULL;
$this->query("update$tableset$con$condition");
}
functioninsert($table,$name,$value){
$this->query("insertinto$table($name)values($value)");
}
functioninsert_id(){
returnmysql_insert_id();
}
functiondelete($table,$condition){
$condition=$condition?
"where".$condition:
NULL;
$this->query("deletefrom$table$condition");
}
functionfetch_row(){
$result=mysql_fetch_row($this->que);
return$result;
}
functionfetch_array(){
$result=mysql_fetch_array($this->que);
return$result;
}
functionshow_error($message="",$sql=""){
if(!
$sql){
echo"$message
";
}else{
echo"错误原因:
".mysql_error()."
";
echo$message." ".$sql;
}
}
}
?
>
Page_class.php
php
$page=$_GET[page];
if(!
function_exists(pageft)){
functionpageft($totle,$displaypg=20,$url=''){
global$page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;
if(!
$page)$page=1;
if(!
$url){$url=$_SERVER["REQUEST_URI"];}
$parse_url=parse_url($url);
$url_query=$parse_url["query"];
if($url_query){
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);
if($url_query)$url.="&page";else$url.="page";
}else{
$url.="?
page";
}
$lastpg=ceil($totle/$displaypg);
$page=min($lastpg,$page);
$prepg=$page-1;
$nextpg=($page==$lastpg?
0:
$page+1);
$firstcount=($page-1)*$displaypg;
$pagenav="显示第".($totle?
($firstcount+1):
0)."-".min($firstcount+$displaypg,$totle)."条记录,共$totle条记录";
if($lastpg<=1)returnfalse;
$pagenav.="首页";
if($prepg)$pagenav.="前页";else$pagenav.="前页";
if($nextpg)$pagenav.="后页";else$pagenav.="后页";
$pagenav.="尾页";
$pagenav.=" 到第\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page)$pagenav.="$i\n";
else$pagenav.="$i\n";
}
$pagenav.="页,共$lastpg页";
}
}
?
>
Regester.php
php
include_once("global.php");
if($_POST['sub']){
$xm=$_POST['xm'];
$gz=$_POST['gz'];
$dj=$_POST['dj'];
$jbgz=$_POST['jbgz'];
$wy=$_POST['wy'];
if($bm=="null")$bm="空";
if($zc=="null")$zc="空";
$db->insert("gzb","xm,gz,dj,jbgz","'$xm','$gz','$dj','$jbgz'");
$query=mysql_query("selectmax(ID)fromgzb");
$row=mysql_fetch_row($query);
$db->insert("kqb","xm,y_id,1y,2y,3y,4y,5y,6y,7y,8y,9y,10y,11y,12y","'$xm','$row[0]',0,0,0,0,0,0,0,0,0,0,0,0");
$db->insert("jt","xm,y_id,jtsj,jtlx,jtts,jtqk","'$xm','$row[0]',0,0,0,0");
$db->insert("ygxx","xm,y_id,jbxx","'$xm','$row[0]','$_POST[jbxx]'");
header("location:
./home.php");
}
?
>
varxmlHttp;
functioncreateXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}elseif(window.XMLHttpRequest){
xmlHttp=newXMLHttpRequest();
}
}
functionselect_class(){
vargz=document.getElementById("gz").value;
createXMLHttpRequest();
varurl="1.php?
gz="+gz+"&"+Math.random();
xmlHttp.open("GET",url,true);
xmlHttp.setRequestHeader("cache-control","no-control");
xmlHttp.onreadystatechange=showclass;
xmlHttp.send(null);
}
functionshowclass(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
varby=xmlHttp.responseText;
document.getElementById("jbgz").innerHTML=by;
}
}
}
functionshowHint(){
vardj=document.getElementById("dj").value;
vargz=document.getElementById("gz").value;
createXMLHttpRequest()
varurl="2.php?
dj="+dj+"&gz="+gz+"&"+Math.random();
xmlHttp.open("GET",url,true);
xmlHttp.setRequestHeader("cache-control","no-control");
xmlHttp.onreadystatechange=show;
xmlHttp.send(null);
}
functionshow(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
varby=xmlHttp.responseText;
document.getElementById("ygz").innerHTML="";
}
}
}
新员工工资注册
姓 名:
工 种:
150px"name="gz"onchange="select_class()">