textbook-management-system/README.md

40 KiB
Raw Blame History

基于php的教材管理系统

摘 要

随着时代的进步,网络的应用已经相当普及,人们也认识到网络信息量大,传播方便快捷等特点,网上银行、网上商店、网上查分都应运而生。需求促进了技术的发展,而在这其中,PHP技术则因为可以进行复杂的数据库操作、很强的交互性以及方便用户控制管理且简便易学而备受青睐,成为当前相当热门的网络开发技术。MYSQL是一个真正的多用户,多线程的MYSQL数据库服务器。是一个客户机/服务器结构的实现,它由一个服务器守护程序MYSQL和不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编程语言PHP的完美结合,很多站点都利用其作为后端数据库,获得了广泛应用。

本文首先介绍了PHP技术的工作原理、工作过程及其运行环境和PHP文件的编程特点,以及如何较好地配置PHP的需求环境,既使大家对PHP有更好的了解,同时也有利于更好地使用PHP技术。其次,介绍了教材管理系统MYSQL数据库,包括MYSQL数据库数据类型和数据表,对MYSQL数据库数据操作的核心概念,即数据的添加、删除、修改和查询进行了简单的介绍。

**关键词: **PHP, MySql, Apache, 数据库,数据库实现,数据源 ,电子高校教材

Abstract

With the development of the computer and technology of the network, it ispopularized day by day in the world that Internet/Intranet uses, in numerousnetwork services, web gives somebody the feeling of finding everything freshand new, and among them, ASP carry on complicated data base operate , verystrong interaction and help user control management and simple and convenientto learn and was favored while being easy to learn, become the quite hotnetwork technology at present.

This article first introduced operationprinciple of the ASP technology, the workingprocess and its running environments and the programming characteristic of theASP document , as well as how doesdispose the ASP demand environment well, since everybody has a betterunderstanding to ASP, simultaneously is also advantageous to uses the ASPtechnology well. Secondly, having introduced the visit method based onWeb data-base of Access relatively in detail, including how to establish andjoin, carry out inquiring and disposal and so on, combining the data-basetechnology and ASP technology theoretically. Thereafter, on the basis of this,this text come out the design and exploitation of a currency-check-affairsystem based on web—webregistration sub-system, which based on network. Mainly recommend the foregoingpreparation (software and hardware) and the design considering of basic constitutesand the implement of functions of the system (including signing up on the net,submitting photograph, querying result, maintain systematically, etc), and thespecialties and security design of this system. Finally expound the matter andshortage of the system, in order to ameliorate better in the future .

KeywordsPHP, Mysql, Apache, database, DB implement, datasource,E-GovermentAffair

第一章 引言

1.1 问题的提出

在电子计算机技术发展日新月异的今天计算机技术、网络技术和信息技术的发展和应用早已深入到了各行各业并发挥着它们的巨大潜力特别是网络的高速化、广泛化发展和运用。在我国各类企业的改革一切都在朝着社会化、高效化、智能化发展管理体制的改革更是进行着大手笔。但是国家高校职能的改革程度还远远不够。高校教材管理系统是计算机技术和网络迅速发展的一个高校办公应用解决方案。高校教材管理系统将Internet网络技术与现代管理观念相融合针对信息技术的特点对办公系统进行规划和重构对高校内部信息流进行优化及合理配置生成动态的、安全的、专有的数字化信息源将办公体系全面自动化流程化数字化。以此为桥梁横向连接同事间的交流与协同工作纵向实现上下级一体化的高效办公体系从而更明确、更有效地支持高校的管理和决策。

1.2 设计方案

本系统采用B/S结构所有的程序及数据都放在服务器上终端在取得相应的权限后使用Web页面浏览录入修改等功能。在语言方面使用PHP语言在数据库上我们为了节约成本采用了免费的MySQL数据库当然也可以移植到Oracle上服务器使用Apache Web服务器。

处理流程如下图:

1.2.1 功能要求

  • 登录:四种不同权限的人,管理员/系级人员/老师/学生,不同人登录后界面应有所不同,如果相同要做到不同功能并是是所有人都可用

  • 教材征订:教师通过每年的开课计划进行教材征订,征订的结果(订单号,教材编号,教材名,教材类型,作者,出版社及版本号,征订时间,征订人,所订班级,征订数量)由系级人员审批并保存,最后由管理员形成征订表单.之后是由采购员去买,与我们无关

  • 教材入库:和征订单比对后入库(可有可无),入库字段:教材编号,教材名,作者,出版社及版本号,市场价,实购价,数量,入库时间

  • 教材发放:在首页通知什么时间内领书,各班班长过来领.并记录领书人和所属班级.如果教师领书,只能领一本。每笔记录库存相应减少(在管理员界面实现)

  • 相关查询:四种权限人员都可以查看教材情况(教材编号,教材名,教材类型,作者,出版社,库存量)

  • 管理员还可查看:预定清单,发放清单,和财务清单并能开成报表(尽可能是可以查一段时间内的信息)

1.2.2 实现形式

采用页面对话交互方式进行,把页面形成工具(DREAMWAVER4)和动态编辑工具PHP以及强大的数据库支持MYSQL融为一体达到完成功能块目的。要求该功能块具有整个系统的统一风格。

1.2.3 具体内容

标题栏部分

采用“高校教材网”统一标题头,即:左为“网上办公,无纸办公”图片,右为“人民高校为人民”,下为其他功能模块的超链接。

主体部分

  • 登录:四种不同权限的人,管理员/系级人员/老师/学生,不同人登录后界面应有所不同,如果相同要做到不同功能并是是所有人都可用

  • 教材征订:教师通过每年的开课计划进行教材征订,征订的结果(订单号,教材编号,教材名,教材类型,作者,出版社及版本号,征订时间,征订人,所订班级,征订数量)由系级人员审批并保存,最后由管理员形成征订表单.之后是由采购员去买,与我们无关

  • 教材入库:和征订单比对后入库(可有可无),入库字段:教材编号,教材名,作者,出版社及版本号,市场价,实购价,数量,入库时间

  • 教材发放:在首页通知什么时间内领书,各班班长过来领.并记录领书人和所属班级.如果教师领书,只能领一本.每笔记录库存相应减少(在管理员界面实现)

  • 相关查询:四种权限人员都可以查看教材情况(教材编号,教材名,教材类型,作者,出版社,库存量)

  • 管理员还可查看:预定清单,发放清单,和财务清单并能开成报表(尽可能是可以查一段时间内的信息)

1.3 系统运行环境

本子系统承接高校教材办公网系统,对运行环境的要求是:

1.3.1 硬件需求

下列的配置是本次实际操作中的配置:

  • 兼容Intel486等级以上的PC电脑

  • 64M以上的RAM

  • 15GB以上的硬盘空间

  • 48倍速以上的光驱

  • 1.44软驱

实际操作中可以略低于此配置。

1.3.2 软件需求

本系统采用了目前最佳组合LAMPLinux + Apache + MySQL +PHP, 该组合具有更稳定、高效能、更经济的特点。

  • 操作系统Linux,采用“飓风Linux”

  • Web服务器软件Apache

  • 数据库服务器与用户端软件MySQL

  • 页面应用软件PHP4

除了上面这些动态网页开发环境的需求还有一些时在安装时需要的软件在Linuz系统中都可以找到或到网上下载

  • C语言编辑器将C语言源文件编译成可执行软件的工具

  • Apxs制作Apache动态模块的工具

  • SecureEdit跨平台上传文件的工具

本次开发过程是先在Window下编写代码然后上传到服务器进行调试。

第二章 设计的理论依据

2.1 Linux + Apache + MySQL + PHP 最优组合

现在的“网络生态”已经不能只有展示的功能,凡是网上下单、网络购物、检索查找等都是在网上随处可见的服务。这些功能的运作都牵涉到用户的选择、输入数据以及服务端处理数据与回应等动作,所以这样的网页即为互动式网页。也正是本系统所要采用的网络形式。

在HTML文件的结构下使用互动式网页就必须在服务器端另外增加这些处理信息的功能通常是针对用途写一个网页应用程序来负责处理。而以互动式网页存取得数据当然必须能长时间储存所以网页应用程序就要能存取数据库在浏览器上显示互动式网页如下图所示

通过以上的介绍您应该已经知道如果是一个网站内容提供者ICP,要提供互动式网页的服务必须要有WWW服务器网页应用程序和数据库这三个成员当然它们都必须在操作系统下执行所以把操作系统也算在内总共四项软件。本系统采用了当今最佳组合――LAMP。

LAMP就是Linux、Apache、MySQL加上PHP。首先是Linux操作系统免费这两年在PC地舞台上大放光明尤其在server地使用上悄然威胁微软的地位。Web服务器Apache免费在全球的website有极大的使用率。数据库MySQL (免费! 一个快速、稳定的SQL数据库服务器。PHP免费 扮演处理互动式信息的网页应用程序的角色。除了稳定、高效能之外,它们均免费,是最经济的选择,而且丰富的网络资源与众多的高手绝对不会让你求教无门。

2.2、PHP, Apache, Mysql, Linux介绍

2.2.1 PHP 简介

PHP的全名即是Hypertext Processor最早的名称由来则是来自PHP ToolsPersonal HomePage ToolsPHP的程序引擎是一个公布源代码的Open Source 成员。PHP是一种“服务器端的HTML嵌入式的描速语言HTML embedded scripting language”。其语法混合了C、Java、Perl以及PHP式的新式语法它比CGI或者Perl可更快速地执行动态网页同时PHP的数据库层操作功能强大这使得PHP语言这几年飞速发展风靡全球。

以下是PHP的基本特点

  • 开放源代码――所有的源代码都可以得到

  • 免费使用――PHP是一个免费软件尽可放心使用

  • 基于服务器端――由于PHP是在Web服务器端运行的所以它的程序可以很大、很复杂而不会降低客户端的运行速度

  • 跨平台――PHP程序可以在UNIX、Linux或者Windows操作系统下运行

  • 嵌入HTML――PHP语言可以嵌入到HTM内部则易学

  • 还有语言简单、效率高、分析XML、数据库模块、文件存取、文本处理、复杂的变量图象处理等特点

最新PHP4.0的特点:

  • 别名――通过引用别名为变量赋值,给编程带来极大方便

  • 扩充了API模块――提供扩展接口模块

  • 个性化的Java支持――PHP4.0和Java的交互

  • 对象和数组嵌套――实现功能更加强大的对象以及数组嵌套

  • 面向对象的编程――为面向对象的编程、构造类以及对象提供扩展的功能和新特征。

还包括如自动资源释放、布尔类型、进程生成、COM/DCOM支持、与PHP3.0的兼容性很好、配置、加密支持、类型检查、FTP支持、PHP4新增函数或功能增强函数、“Here”打印、HTTP Session fallback系统、ISAPI支持、内存、多维数组、其他类成员函数、对象重载支持、输出缓冲支持、支持引用等特点。编写好后将其放在服务器的提供的Web的目录里通过IE浏览器可看到结果“我的第一个PHP程序”。具体语法参考PHP4.0相关书籍。

2.2.2 Apache 简介

本系统的操作所使用的web服务器软件为Apache。Apache是目前全世界的网站使用最多的服务器。在2000年2月十全世界有58.08%的使用率。同样地Apache的优点也是稳定、快速与开放同时也有众多的功能并且可以在不同操作系统下执行。前面的内容已经介绍了web 服务器负责完成传送显示在浏览器的 HTML 文件内容,而数据处理就是 PHP 程序的工作了。所以在服务主机使用PHP时必须将解读PHP程序代码的功能加到Apache ,也就是按装Apache 的PHP 模块module。以往如果要加入PHP模块就必须先将PHP的源代码编译成Apache 的模块再将Apache加上PHP功能模块重新编译。从PHP3开始就支持了Apache 的动态共享对象Dynamic Shared Object , DSO模块的功能也就是说PHP3可以编译DSO模块Apache 只需在需要执行时调用PHP3模块就可以使用PHP3的功能。这样以来即使修改PHP、换装新版本或是重新安装PHP都可以不必 动用Apache ,当然PHP4 也可以编译DSO模块。

2.2.3 MySQL 简介

MySQL数据库系统与PHP整合使用是一个高效率的组合。MySQL是一个多用户Multi-user、多线程Multi-thread的SQL数据库系统使用目前最普遍地数据库标准语言SQLStructured Query Language。MySQL包括了服务器端程序与多种 用户端程序及程序库,并且可以在不同平台执行。其特点还有稳定、快速与高灵活性等。

MySQL有瑞典的T.c.X DataKonsultAB公司开发出来开发的主要目的就是以快速、健全以及使用微目标最初的开发即是因为该公司需要能在廉价的主机上执行优于当时各种商用数据库且快速管理庞大数据库的SQL服务器。MySQL是一个还在开发中的数据库系统但是其效能已经非常优秀。在MySQL网站http://www.mysql.org 上你可以看到它们的使用记录是以管理40个以上的数据库超过10000个表同时其中还有500个以上的表超过7百万记录而这些数据总共超过了10Gbytes的容量。

2.2.4 Linux简介

操作系统最好的选择当然是使用面费又稳定的Linux系统。Linux是在1991年发展起来的与UNIX兼容的操作系统可以免费使用它的源代码可以自由传播且可任人修改、充实、发展。Linux本身是一个完整的32位的多用户、多任务操作系统。而本次开发过程使用的版本是飓风软件公司出品的国产Linux操作系统。它是经汉化后形成的Linux操作系统。凡是Linux操作系统均可到网上下载。

2.3 安装及注意事项

LAMP (Linux + Apache + MySQL + PHP/Perl/Python) 近几年来已经成为Web 社区的事实标准。我们将介绍LAMP组合的安装假定你的机器上已经安装了Linux 如果你对Linux 的安装还有什么问题的话可以去相关的一些开放源码站点论坛上发表贴子向其他网友寻求帮助。也可以向相关的厂商寻求技术支持。本文的LAMP中的 P暂时解释为PHP,A解释为ApacheM解释为MySQLL当然解释为Linux。所有LAMP组合中的软件都是开放源代码产品所以您不必担心产品的价格以及版权问题。相反有广大的开放源码社区开发人员的不断努力这些产品的版本更新速度反而比那些昂贵的专有软件更快。虽然Linux 因为界面问题会让您望而却步但是您不必担心现在这些软件都采用了浏览器管理界面好多都提供phpMyAdmin一个利用PHP 语言在浏览器上管理MySQL的程序以及WebMin通过浏览器来管理系统来让您方便的管理系统。PHP现在的版本已经到了4.0.4pl1是一门面向对象的交叉平台的服务器端脚本语言。可以嵌入HTML语言中可以作为Apache 的模块来运行。下面我们以 tarball(.tar.gz)格式和它相对的是RPM 格式)的版本为例子,来介绍安装过程。

2.3.1 安装Mysql

因为RPM包安装非常简单而且成功率高所以我选择这种安装方式。

方法在Xwindows下双击此文件就可以了。在提示符下输入

rpm -i MySQL-3.23.38-1.i386.rpm

2.3.2 安装Apache和PHP

Apache和PHP是在一起安装的这一点一定要理解。

步骤如下:    

  • 先确定Apache安装后的路径

  • 安装并编译PHP把PHP作为Apache的模块安装到Apache的安装路径即Apache的解压缩的路径

  • 安装并编译Apache 因为只有先把PHP作为Apache的模块安装到Apache的安装路径即Apache的解压缩的路径再安装Apache才能使Apache执行PHP文件。

2.3.3 开始安装

解压缩文件

tar zxvf Apache_1.3.9.tar.gz 
tar zxvf PHP-4.0.2.tar.gz

配置Apache确定Apache安装后的路径

cd Apache_1.3.9 ./configure --prefix=/usr/local/apache

进入PHP的解压目录输入

./configure --with-apache=../Apache_1.3.9 --with-mysql --disable-debug --enable-track-vars 

注:"../Apache_1.3.9"表示Apache的解压路径这个路径一定要正确我是把Apache和PHP放在同一路径下解压的。 这样做就是让PHP作为Apache的模块和Apache一起安装。

下一步编译、安装PHP到Apache的原始目录中

在提示符下输入make

完成之后再输入make install

再将php.ini.dist拷贝到这个目录/usr/local/lib并重命名为php.ini

cp php.ini.dist /usr/local/lib 

最后一步是安装Apache

进入Apache的解压目录输入

./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a 

接下来make

make install

至此安装工作完成了。你还需要改动一些地方才能让Apache执行PHP如下

编辑Apache配置文件

/usr/local/apache/conf/httpd.conf 

找到这一行AddType application/x-httpd-php4 .php4

去掉前面的“#”号。再加上下面的几行:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4 

重新启动Apache: cd /usr/local/apache/bin ./apachectl restart

用下面这个文件在浏览器下测试Apache和PHP

test.php
<?
    phpinfo();
?>

如果出现了有关PHP的信息说明你已经成功了注意大小写

利用PhpMyAdmin来管理Mysql:将解压后的PhpMyAdmin目录放到你的Apache的htdocs目录下修改这个文件使之成为中文的界面config.inc.php

找到有“english”单词的一行将“english”改成“chinese_gb”存盘这样就完成了。 这回再到浏览器下执行一下这个目录下的 index.php文件这下应该出现Mysql的管理界面了而且还是中文是不是很舒服

第三章 开发过程

3.1 设置服务器

这里主要是介绍Linux服务器中最重要的网络服务

Web服务器的配置

安装好Apache 服务器后,还需要根据实际情况完成各项参数的配置,其设置文件位于/www/httpd/conf/目录下通常使用3个配置文件httpd.conf, mysql.conf 和srm.conf来配置Apache。

httpd.conf提供了最基本的服务器配置是对守护进程httpd如何运行的技术描速srm.conf是服务器的资源映射文件告诉服务器各种文件的MIME类型以及如何支持这些文件mysql.conf用于配置服务器的访问权限控制不同用户和计算机的访问权限。

用命令:#/www/bin/apachectl restart启动来设置各项参数。

a. ServerType standalone       //可使httpd进行自我处理占用较少CPU资源
b. ServerRoot “/usr/local”   //指定守护进程的运行目录

其他参数可根据实际需要设置。

3.2 设置数据库

3.2.1创建数据库和数据表

教材管理子系统所用的数据库名为jc;

教材管理子系统所用的数据表有5项名分别为users(用户简要信息表),aducat(学历信息表),emergen(意外事故情况表),family(家属信息表),resume(个人简历表)。

  • 用命令:

    • /# cd /var/www/html 回车进入mysql所在目录
    • /#mysql p 回车,根据提示键入密码;
  • 用命令create database jc;//完成创建数据库

  • 用命令show databases; //显示数据库

  • 用命令use jc; //指定使用的数据库

以下将完成各表项的创建:

教材管理系统数据库设计

  • 表[xuesheng] xuehao ingming banji xi user_name password

  • 表 [laoshi] jiaoshihao xinmin xi user_name password

  • 表[xi] xingming xi user_name password

  • 表 [admin] name user_name password

  • 表[zhengding] dingdan jcbianhao jcming jcleixin zuoze cbshe banben shijian zdren szbanjji zdshuliang

  • 表 [ruku] jcbianhao jcming zuoze cbshe banben scjia sgjia suliang rukushijian

  • 表 [fafang] shijian lsren ssbanji

  • 实体: xuesheng laoshi xi admin zhengding ruku fafang

  • 学生属性 学号,姓名,班级,系,账号,密码

  • 老师属性 教师号,姓名,系,账号,密码

  • 系级人员属性 姓名,系,账号,密码

  • 管理员属性 姓名,账号,密码

  • 征订属性 订单号,教材编号,教材名,教材类型,作者,出版社及版本号,征订时间,征订人,所订班级,征订数量

  • 入库属性 教材编号,教材名,作者,出版社及版本号,市场价,实购价,数量,入库时间.

  • 发放属性 时间 领书人 所属班级 数量

3.2.2 数据库连接

为了保证程序的安全,编写独立的数据库连接功能程序:

<?php
    do{include("../config.php");} while($sql=="");
    //数据库所在的主机地址localhost是本机地址
    $MYSQL_HOSTNAME = "localhost";
    //数据库登录的用户名称
    $MYSQL_USERNAME = "root";
    //数据库登录的密码
    // $MYSQL_PASSWORD = "1111";
    //要登录的数据库的名称
    // $DATABASE = "jc";
    //数据库的连接操作
    $link_id=$sql;
?>

3.2.3 创建数据源

用命令:

insert into users
values(1003,’张三’,’男’,’汉’,’教材部’,’部长’,’工程师’,1978-03-24,成都市人民南路3段3号,
12345,6,4,3);

其他表数据源类似插入。

用命令:

select * from users order by ID;

可以查看所录入的数据源。

注:教材管理和职员教材信息管理两部分的功能实现,由薪资管理模块和公共信息管理模块提供。

3.3 系统功能实现

教材管理子系统作为高校教材办公网的一个模块将完成对高校系统中公务员的教材管理目前包括教材规章制度、重要通知、最新教材信息、信息查询、管理员登录以及相关功能链接。其中以信息查询和管理员登录为主将实现个人信息的简要和详细查询部门中人员信息的简要和详细查询人员信息的录入、修改、删除、教材管理以及教材管理。采用页面交互式操作用网页制作工具dreamwaver或其它工具实现功能程序用php实现将所有的程序放置在服务器上通过apache提供达到网上办公和无纸办公。可以参考以下功能模块图。

3.3.1 系统登录

用户登录高校教材办公网后,点击“登陆”链接进入本子系统。

如下图示,进入教材管理子系统主页面:

3.3.2 教材规章制度

教材管理规章制度栏,将向所有公务员提供各种咨询信息,为初到机关的员工讲解具体要求。通过点击即可链接到所要查看项目,可以进入该项的详细内容页面。其具体内容由用户方提供,粘贴到页面即可。如上图左示。

3.3.3 重要通知

重要通知栏,将由教材部或科发布其最近最新的教材通知,由管理员在新闻发布管理项,可以添加,修改,删除新闻。如上图中上示。

3.3.4 最新教材信息

最新教材信息栏,将由教材部或科发布其最近最新的教材信息,包括与本单位一切相关信息,仍由管理员在新闻发布管理项,可以添加,修改,删除新闻;通过点击相关项,可浏览其详细信息。如上图中下示。

3.3.5 信息查询

//选择进入模块login1.php
<? php
 switch($choose):
  case "c1":
    require("infomation1.php");   break;
  case "c2":
    require("infomation2.php");   break;
  case "c3":
    require("depart1.php");   break;  
  case "c4":
    require("depart2.php");   break;
  default:
    require("m6_index.php");
endswitch;
?>
  • 职员信息查询将向员工用户提供公务员信息查询员工简要信息查询和其详细信息查询。简要信息查询时当输入员工的帐号和姓名点击“确定”后由程序search1.php提交到数据库中根据ID和NAME从表users中提取数据返回infomation1.php显示详细信息查询时输入员工的帐号、姓名和密码,点击“确定”后由程序modify11.php提交到数据库中根据ID、NAME和PASSW从表users以及aducat、emergen、family、resume中提取数据返回infomation2.php显示。
//个人简要信息search1.php
<?
    if($ID AND $NAME){ 
	    //判断输入信息,若正确则连接数据库
        do{ 
			require("../config.php");
		}while($sql==" ");
		$str="SELECT NAME,XB,MZ,BM,ZC,ZW,ID,CSNY,XZDZ FROM users WHERE ID='$ID';";
		$result=mysql_query($str,$sql);
		mysql_close();//关闭数据库
		$record=mysql_fetch_row($result);
		}
?>
//送出查询结果
//个人信息详细查询mofify11.php
<?php
	if($ID AND $NAME){ //判断输入信息,若正确则连接数据库
  		do{
			require("../config.php");
		}while($sql=="");
		$str="SELECT * FROM  users WHERE ID='$ID';";
		$result=mysql_query($str,$sql);
		$record1=mysql_fetch_array($result);
		$str2="SELECT * FROM  aducat WHERE ID='$ID';";
		$result2=mysql_query($str2,$sql);
		$record2=mysql_fetch_array($result2);
		$str3="SELECT * FROM  resume WHERE ID='$ID';";
		$result3=mysql_query($str3,$sql);  
		$record3=mysql_fetch_array($result3);
		$str4="SELECT * FROM  family WHERE ID='$ID';"; 
		$result4=mysql_query($str4,$sql);  
		$record4=mysql_fetch_array($result4);
		$str5="SELECT * FROM  emergen WHERE ID='$ID';";
		$result5=mysql_query($str5,$sql);    
		$record5=mysql_fetch_array($result5);
		mysql_close(); 
	}
?>
  • 部门信息查询部门简要信息查询和其详细信息查询。即查询该部门员工的信息。部门简要信息查询时只需输入部门名称点击“确定”后程序search2.php根据BM部门名提交到数据库中从表users,中查询到该部门所有员工的简要信息返回depart1.php显示。详细信息查询时需输入你的姓名,帐号,密码,且必须是领导,职务编码为4。然后输入被查询者的姓名和帐号点击“确定”由程序depart12.php提交数据库从表users,aducat,emergen,resume,family中查询返回到depart2.php显示。
//部门信息简要查询search2.php
<?
	//判断输入信息,若正确则连接数据库
	do{
		require("../config.php");
	}while($sql==" ");
	if($BM){
		$select="select * from users where BM='$BM';";
		$result=mysql_query($select,$sql);
		//$record=mysql_fetch_row($result);
		$sn_index=mysql_num_rows($result);
		for($index=0;$index<$sn_index;$index++){
			$arr[$index]=mysql_fetch_array($result); 
		};
		mysql_close();
	}
?>

用list_display.php程序来实现逐条显示

<?
	//逐条显示
	<TR align=center><TD ALIGN=CENTER><?echo $arr[$index][ID]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][NAME]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][XB]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][MZ]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][BM]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][ZC]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][ZW]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][CSNY]?></TD>
	<TD ALIGN=CENTER><?echo $arr[$index][XZDZ]?></TD>
	</TR>
?>
//部门详细信息查询depart12.php
<?
	//判断输入信息,若正确则连接数据库
	if($ID AND $NAME AND $PASSW AND $OBJECTN AND $OBJECTID){
    	do{
			require("../config.php");
		}while($sql=="");
		$str=" SELECT ZWBM FROM users WHERE ID='$ID';";
		$result=mysql_query($str,$sql);
		$record=mysql_fetch_array($result);
		if($record[0]==4){
			if($OBJECTID AND $OBJECTN){ 
				//判断输入信息,若正确则连接数据库
				do{
					require("../config.php");
				}while($sql=="");      
				$str="SELECT * FROM  users WHERE ID='$OBJECTID';";  
				$result=mysql_query($str,$sql);   
				$record1=mysql_fetch_array($result);
				$str2="SELECT * FROM  aducat WHERE ID='$OBJECTID';";  
				$result2=mysql_query($str2,$sql);       
				$record2=mysql_fetch_array($result2);
				$str3="SELECT * FROM  resume WHERE ID='$OBJECTID';";        
				$result3=mysql_query($str3,$sql);   
				$record3=mysql_fetch_array($result3);
				$str4="SELECT * FROM  family WHERE ID='$OBJECTID';";      
				$result4=mysql_query($str4,$sql);         
				$record4=mysql_fetch_array($result4);
				$str5="SELECT * FROM  emergen WHERE ID='$OBJECTID';";         
				$result5=mysql_query($str5,$sql);       
				$record5=mysql_fetch_array($result5);
				mysql_close(); 
			}  
		}
	}
?>

3.3.6 管理员模块

登录时要求输入管理员的姓名、密码、帐号此处设定为姓名SSSS、密码12345、帐号6666,点击“确定”后由程序login2.php提交到数据库根据输入的信息判断其是否为管理员若是可进入。进入后点击左边的各项即可链接到相应的功能项继续操作。

//管理员登录功能程序
<?php
	//判断输入信息,若正确则连接数据库
	do{ 
		require("../config.php");
	}while($sql==" ");
	if($ID=="6666" and $NAME=="ssss" and $PASSW==12345){
		$select="select ID from users where ID='$ID' AND NAME='$NAME' AND PASSW='$PASSW';";
		$result=mysql_query($select,$sql); 
		if($result){
			require("manager.php");
		}
        else {
			echo"您填入的信息有误,<a href=m6_index.php>请回上一页重新登录!</a>";
		}
		mysql_close();
	}
?>

登录成功后进入管理员页面manager.php如下

在页面的左侧选择操作项,右侧绿色区域为工作区。

  • 职员信息录入公务员号ID项必须录入数据直接在文本框中录入数据要求日期类的格式必须为“1990-09-09”身高“170cm”,体重“65kg”,在录入界面中输入数据后按“提交”后由程序insert.php提交数据库对users, aducat, emergen, resume, family 五表插入数据;当提示数据录入成功后,点击返回,可继续录入。

//职员信息录入insert.php
<?php
if($ID){ 
	//判断输入信息,若正确则连接数据库
	do{
		require("../config.php");
	}while($sql=="");
	//向users表插入数据
	$str="INSERT INTO users VALUES('$ID','$NAME','$XB','$MZ','$CSNY','$XZDZ','$ZC','$ZW','$BM','$BMBM','$ZWBM','$MJ','$PASSW','$HYZK','$ZZMM');";
	//插入新数据
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); 
	//送出查询字符串        
	if($result==0){
		echo "can not query ";
		exit;
	}
	//向aducat表中插入数据
	$str="INSERT INTO aducat VALUES ('$XL','$SCHOOL','$GRADATE','$MAJOR','$SPECI','$LANGU','$ID');";        
	//插入新数据
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); 
	//送出查询字符串        
	if($result==0){
		echo "can not query ";
		exit;
	}
	//向emergen表中插入数据
	$str="INSERT INTO emergen VALUES ( '$YWLLR','$YWGX','$YWTX','$YWDH','$YWSYR','$YWSYGX','$YWSYTX','$YWSYDH','$ID');";//插入新数据
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串        
	if($result==0){
		echo "can not query ";
		exit;
	}
	//向family表中插入数据
	$str="INSERT INTO family VALUES ('$JSCH1','$JSXM1','$JSXB1','$JSCSRQ1','$JSZY1','$JSGZDW1','$JSZZ1',                        '$JSCH2','$JSXM2','$JSXB2','$JSCSRQ2','$JSZY2','$JSGZDW2','$JSZZ2',                        '$JSCH3','$JSXM3','$JSXB3','$JSCSRQ3','$JSZY3','$JSGZDW3','$JSZZ3','$ID');";//插入新数据
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串       
	if($result==0){
		echo "can not query ";
		exit;
	}
	//向resume表中插入数据
	$str="INSERT INTO resume VALUES ('$JG','$SG','$TZ','$XUX','$STZK','$HJ','$SFZH','$HOBBY','$YB','$EML','$HYZK','$ZZMM','$XZ','$ID');";//插入新数据
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串       
	if($result==0){
		echo "can not query ";
		exit;
	}
	//向base表中插入数据
	$str="INSERT INTO base(id,name,password,bmbm,zwbm)                VALUES('$ID','$NAME','$PASSW','$BMBM','$ZWBM');";//插入新数据    
	if(!$str){
		echo "can not insert data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串  
	if($result==0){
		echo "can not query ";
		exit;
	}
	mysql_close();//关闭数据库
	echo "添加数据成功!<a href=insert.php>返回</a>";
}
else{
 	echo "添加数据不成功!<a href=insert.php>返回,请检查数据类型的正确性!</a>";
}
?>
  • 职员信息修改在修改界面中首先输入被修改者的帐号ID和姓名NAME点击“确定”后由程序modify11.php提交到数据库首先将其原始数据搜索出返回到modify.php中显示在此基础上对数据进行修改修改完毕再由程序modify12.php提交到数据库对数据进行更新users,aducat,emergen,resume,family五表操作提示修改成功后可返回继续下一次修改。

//职员信息修改
<?
if($ID){
	//判断公务员号是否存在
	do{
		require("../config.php");
	}while($sql=="");
	//update users table
	$str="UPDATE users SET NAME='$NAME',XB='$XB',MZ='$MZ',CSNY='$CSNY',XZDZ='$XZDZ',          ZC='$ZC',ZW='$ZW',BM='$BM',BMBM='$BMBM',ZWBM='$ZWBM',MJ='$MJ',PASSW='$PASSW',HYZK='$HYZK',ZZMM='$ZZMM' WHERE ID='$ID';"; //更改数据
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串
	if($result==0){
		echo "can not query ";
		exit;
	}
	//update aducat table
	$str="UPDATE aducat SET XL='$XL',SCHOOL='$SCHOOL',GRADATE='$GRADATE',MAJOR='$MAJOR',SPECI='$SPECI',LANGU='$LANGU' WHERE ID='$ID';"; //更改数据
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串
	if($result==0){
		echo "can not query ";
		exit;
	}
	//update emergen table
	$str="UPDATE emergen SET YWLLR='$YWLLR',YWGX='$YWGX',YWTX='$YWTX',YWDH='$YWDH',YWSYR='$YWSYR',YWSYGX='$YWSYGX',YWSYTX='$YWSYTX',YWSYDH='$YWSYDH' WHERE ID='$ID';";
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串
	if($result==0){
		echo "can not query ";
		exit;
	}
	//update family table
	$str="UPDATE family SET SCH1='$JSCH1',JSXM1='$JSXM1',JSXB1='$JSXB1',JSCSRQ1='$JSCSRQ1',JSGZDW1='$JSGZDW1',JSZZ1='$JSZZ1',JSCH2='$JSCH2',JSXM2='$JSXM2',JSXB2='$JSXB2',JSCSRQ2='$JSCSRQ2',JSGZDW2='$JSGZDW2',JSZZ2='$JSZZ2',JSCH3='$JSCH3',JSXM3='$JSXM3',JSXB3='$JSXB3',JSCSRQ3='$JSCSRQ3',JSGZDW3='$JSGZDW3',JSZZ3='$JSZZ3' WHERE ID='$ID';"; //更改数据
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串
	if($result==0){
		echo "can not query ";
		exit;
	}
	//update resume table
	$str="UPDATE resume SET           JG='$JG',SG='$SG',TZ='$TZ',XUX='$XUX',STZK='$STZK',HJ='$HJ',SFZH='$SFZH',HOBBY='$HOBBY',YB='$YB',EML='$EML',HYZK='$HYZK',ZZMM='$ZZMM',XZ='$XZ' WHERE ID='$ID';";  //更改数据
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串
	if($result==0){
		echo "can not query ";
		exit;
	}
	//update base table
	$str="UPDATE base SET name='$XM',bmbm='$BMBM',zwbm='$ZWBM',password='$MM' WHERE id='$GWYH';";   
	//更改数据
	if(!$str){
		echo "can not update data";
		exit;
	}
	$result=mysql_query($str,$sql); //送出查询字符串        
	if($result==0){
		echo "can not query ";
		exit;
	}
	mysql_close(); //关闭数据库
	echo "数据修改成功!<a href=modify2.php>返回</a>";  
}
?>
  • 职员信息删除在删除界面中首先输入被删除者的帐号ID和姓名NAME点击“确定”后程序delete.php根据ID提交到数据库查询是否有此人然后将其删除根据提示信息继续操作。
//职员信息删除
<!---Deleteuser php script begins here--->
<?php
if($ID and $NAME){ 
	//判断输入信息,若正确则连接数据库
	do{
		require("../config.php");
	}while($sql==" ");
	//删除users表中某一信息
	$deleteresult="DELETE FROM users where NAME='$NAME' AND ID='$ID'"; 
	$result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	//删除aducat表中某一信息
	$deleteresult ="DELETE FROM aducat WHERE  ID='$ID'";  
	$result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	//删除family表中某一信息
	$deleteresult ="DELETE FROM family WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	//删除resume表中某一信息
	$deleteresult ="DELETE FROM resume WHERE  ID='$ID'";  $result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	//删除emergen表中某一信息
	$deleteresult ="DELETE FROM emergen WHERE  ID='$ID'"; 
	$result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	//删除base表中某一信息
	$deleteresult ="DELETE FROM base WHERE id = '$ID'"; 
	$result=mysql_query($deleteresult, $sql);
	if(!result){
		echo "can not query";
		exit;
	}
	$affected_rows=mysql_affected_rows( $sql);
	mysql_close();
	echo "<b>$NAME</b> 已经被成功的删除了.";
}
?>
  • 教材信息管理:具备录入,修改,删除;同上点击链接后,根据提示信息继续操作。该块由教材管理栏完成。

  • 教材管理:同上点击链接后,根据提示信息继续操作。

  • 新闻发布管理:目前由于时间原因暂未实现,若要实现可与系统主页中的新闻管理相似处理。

  • 职员相片管理:目前由于时间原因暂未实现,具备相片上传、相片修改、相片删除功能。暂时实现相片上传功能,后继实现。

3.3.7 相关功能链接

该部分用于提供客户的功能扩展,暂未连接功能项,留待客户具体需求提出后实现。