PHP+MYsql图书管理系统 毕业设计 毕业论文.doc
PHP+MYsql图书管理系统 毕业设计 毕业论文 密级: JINING UNIVERSITY 学 士 学 位 论 文THESIS OF BACHELOR 题 目 基于PHP+MYSQL的图书馆管理系统 系 别: 计算机科学系专业年级: 计算机科学与技术09级本科学生姓名:学号: 指导教师:职称: 起讫日期:李振建 基于PHP+MYSQL的图书馆管理系统 目 录摘要. . 1关键词 . 1 Abstract . 1 Key words . 11 绪论 . 11.1 研究背景 . 11.2 研究现状 . 11.3 研究意义 . 22 开发环境与相关技术简介. 22.1 PHP概述 . 22.2 MYSQL概述 . 22.3 Apache服务器 . 22.4 WampSever集成开发环境 . 22.5 EclipsePHP studio概述 . 22.6 B/S模式 . 32.7 Jquery EasyUI概述 . 33 系统需求分析 . 34 总体功能设计 . 44.1系统流程图与功能结构图 . 44.2系统数据库设计 . 44.2.1数据库概念设计. 44.2.2创建数据库及数据表 . 55 系统设计与实现 . 95.1系统首页设计 . 95.2系统管理员模块设计. 95.3系统图书档案管理模块设计 . 135.4系统图书借还模块设计 . 136.系统安装文件的制作. 187.系统测试 . 197.1系统测试目的 . 197.2系统测试方法 . 197.3.系统测试结论 . 19参考文献 . 21致谢 . 22附录 . 23 1李振建 基于PHP+MYSQL的图书馆管理系统 基于PHP+MYSQL的图书馆管理系统计算机科学与技术专业学生 李振建指导教师 蒿琳摘要:随着计算机的不断普及和发展,很多大型的学校图书馆虽然已经有一整套比较完善的图书馆管理系统,然而在一些中小型的学校图书馆中,绝大部分的工作仍需图书管理员由手工来完成,工作效率低下。关键词: 图书管理 PHP MySQL ApacheLibrary management system based on PHP and MYSQLStudent majoring in Computer Science and Technology Li ZhenjianTutor Hao LinAbstract:With the growing popularity of computers and development, although many large school library has a set of relatively complete library management system, but in some small and medium school library, most of the work still needs librarian done by hand, the working efficiency is low. This design of the library management system based on B / S structure, using the most popular server side scripting language PHP, and well-matched with the PHP MYSQL database-oriented systems Database, Apache server as the system to achieve a book information add, query, delete, and borrow restitution and other functions. System uses Jquery EasyUI user interface plug-ins written to achieve a good user experience.Key words: library management ; PHP ; MySQL; Apache;1 绪论1.1 研究背景随着我国的教育产业的快速发展,各个学校的学生数量越来越多,在这种情况下的图书馆书籍管理和查询,以及读者的管理变得非常困难,使用计算机软件的图书管理系统来协助管理是一个很好的方法。图书馆管理系统的开发和应用,可以提高管理水平和效率,为学校图书馆提供了一个很好的管理工具,简化繁琐的工作模式,使学校图书馆管理更加规范化,科学化。1.2 研究现状人工图书管理效率低下,不能及时了解的各类图书的类别和读者的需求,不能更好地适应当前的读者要求。虽然绝大部分学校图书馆已经有了自己的图书管理系统,但多数是采用C/S架构的,不能基于WEB管理,即便如此我国各类高等学校中仍有相当一 1李振建 基于PHP+MYSQL的图书馆管理系统 部分学校图书管理还停留在人工管理的基础上。1.3 研究意义DEEPIN图书馆管理系统主要应用于学校中小型图书馆的管理。使用这个系统,图书馆管理工作变得更加便捷、高效,系统将用最先进的技术结合传统的方式,为读者提供更好的服务,只有这样,可以有效地提高学校科研和教学水平。2开发环境与相关技术简介2.1 PHP概述PHP是一种广泛使用的开源的脚本语言,可嵌入到HTML中,尤其是对于Web开发1。它是一种服务器端HTML的脚本语言,是一种简单的、高效的、面向对象的、解释的、健壮的、安全性非常高的动态的脚本语言2。2.2 MYSQL概述MySQL数据库是一个小型关系型数据库管理系统。由于MySQL体积小、速度快和低成本,尤其是在开放源代码的特点,目前MySQL被广泛用于中小型网站3。2.3 Apache服务器目前世界使用排名第一的Web服务器软件就是Apaache4。Apache起初由NCSA(伊利诺伊大学香槟分校的国家超级电脑应用中心)开发。此后,随着Apache httpd的开源社区的成员不断发展和加强,Apache的HTTP Web服务器有可靠的声誉,有超过一半正在使用它的网站 ,特别是几乎所有最流行的大网站。例如,维基百科使用的就是Apache 服务器5。2.4 WampSever集成开发环境WampServer是Apache服务器,PHP解释器和MySQL数据库集成软件包。WAMP是完全免费的,在官网可以下载到最新的版本。2.1,其中包括Apache 2.2.17,PHP 5.3.3,MySQL 5.5.86。2.5 EclipsePHP studio概述本系统的开发主要依靠EclipsePHP studio制作。EclipsePHP是一个大型PHP项目开发编译器。此编译器为PHP编译器,辅助PHP代码的开发和调试,集成了代码高亮、函数跟踪、实时纠错等功能。内嵌浏览器可以在调试简单代码实时浏览。不仅支持php ,也支持其他网络语言像html、xhtml、xml、css和javascript、java、perl、python等。2.6 B/S模式B/S(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通 2李振建 基于PHP+MYSQL的图书馆管理系统 过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)7。2.7 Jquery EasyUI概述Jquery EasyUI是一组基于jQuery的UI插件集合,而Jquery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签8。Jquery EasyUI为我们提供了大多数UI控件的使用,如:accordion、combobox、menu、dialog、tabs、tree、validatebox、datagrid、window等等。本系统应用EASYUI的dialog控件完成一些比较小的页面,获得更好的用户体验。 3 系统需求分析DEEPIN图书馆管理系统实现了以下功能:图书管理、读者管理、图书借还和系统设置。1.图书管理功能: 图书类别管理功能和图书信息管理功能。2.读者管理部分:读者信息管理。3.图书借还部分:借阅信息管理功能和归还信息管理功能。4.系统设置:修改用户密码、添加新用户、退出系统和管理员权限修改等功能。 图3.1 DEEPIN图书馆管理系统功能结构图34 总体功能设计4.1 系统流程图 4.2 系统数据库设计4.2.1 数据库概念设计1.图书档案实体2.读者档案实体 3借阅档案实体李振建 基于PHP+MYSQL的图书馆管理系统 图4.1 DEEPIN图书馆管理系统系统流程图 图4.2图书档案实体E-R图 图4.3读者档案实体E-R图 4李振建 基于PHP+MYSQL的图书馆管理系统 图4.4借阅档案实体E-R图4.归还档案实体 图4.5归还档案实体E-R图4.2.2 创建数据库及数据表结合实际情况和分析图书管理员需求,DEEPIN图书馆管理系统数据库包含以下10个表格。 图4.6 tb_bookcase表 图4.7 tb_booktype表 5李振建 基于PHP+MYSQL的图书馆管理系统 图4.8 tb_bookinfo表 图4.9 tb_borrow表 图4.10 tb_library表 6李振建 基于PHP+MYSQL的图书馆管理系统 图4.11 tb_manager表 图4.12 tb_publishing表 图4.13 tb_purview表 7李振建 基于PHP+MYSQL的图书馆管理系统 图4.14 tb_reader表 图4.15 tb_readertype表 创建数据库代码如下:CREATE DATABASE;USE lee_library;DROP TABLE IF EXISTS tb_bookcase;CREATE TABLE tb_bookcase (id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(30) DEFAULT NULL,PRIMARY KEY (id) ENGINE=MyISAM AUTO_INCREMENT=58 DEFAULT CHARSET=gb2312;. . . . . .省略掉的其它的数据库创建代码 8李振建 基于PHP+MYSQL的图书馆管理系统 5 系统设计与实现5.1 系统首页设计系统首页显示管理员基本信息, $_SERVER"REMOTE_ADDR"用来获取客户端IP地址9。 图5.1首页效果图5.2 系统管理员模块设计管理员模块主要包括管理员登录、查看管理员列表、添加管理员信息、管理员权限设置、管理员删除和更改口令6个功能。系统只能通过login.php文件进行登录,访问其它页面首先验证是否登录,若没有登录跳转到登录页,验证用户是否登录的关键代码如下:<?php session_start();if($_SESSIONadmin_name="")echo "<script>alert(对不起,请通过正确的途径登录!);window.location.href=login.php;</script>"?> 图5.2管理员登录页面效果图系统登录界面,自定义的JavaScript函数,用于判断管理员名和密码是否为空。 9李振建 基于PHP+MYSQL的图书馆管理系统 相关代码如下:<script language="javascript">function check(form)if (form.name.value="")alert("请输入管理员名称!");form.name.focus();return false;if (form.pwd.value="")alert("请输入密码!");form.pwd.focus();return false;</script>图5.3未输入管理员名弹出的提示框 图5.4未输入密码弹出的提示框 图5.5 管理员设置页面效果图系统设置页面列出所有管理员及其相对应的权限,可对某个管理员进行权限设置和管理员添加和删除,相关代码如下:<?phpinclude("conn/conn.php");/引入数据库配置文件$sql=mysql_query("selectm.id,m.name,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysquery from 10李振建 基于PHP+MYSQL的图书馆管理系统 tb_manager as m left join (select * from tb_purview)as p on m.id=p.id"); $info=mysql_fetch_array($sql);if($info=false). . . . . .省略的非关键代码<table width="91%" border="1" cellpadding="0" cellspacing="0"bordercolor="#FFFFFF" bordercolordark="#D2E3E6" bordercolorlight="#FFFFFF"> <tr align="center" bgcolor="#e3F4F7"><td width="26%">管理员名称</td>. . . . . .同理省略的非关键代码</tr><?php do?><tr><td style="padding:5px;"><?php echo $infoname;?></td><td align="center"><input name="checkbox" type="checkbox"class="noborder" value="checkbox" disabled="disabled" <?phpif($infosysset=1)echo ("checked");?>></td>. . . . . .同理其它权限判断如果值为1则复选框为勾选状态<td align="center"><ahref="javascript:windowopen(manager_modify.php?id=<?php echo$infoid; ?>,权限设置)">权限设置</a></td><td align="center"><a href="manager_del.php?id=<?php echo$infoid;?>">删除</a></td></tr><?phpwhile($info=mysql_fetch_array($sql);?>11李振建 基于PHP+MYSQL的图书馆管理系统 图5.6 管理员添加页面效果图在管理员设置界面点击添加管理员链接,在弹出的EASYUI对话框中填写用户名及密码,点击保存完成管理员添加,相关代码如下: 图5.7 权限设置页面效果图在权限设置对话框中可编辑对应管理员的权限,勾选相应权限代表拥有该权限,没有勾选代表没有该项权限,点击保存更改数据库数据。数据处理相关代码如下: <?phpinclude("conn/conn.php");if($_POSTsubmit!="")$id=$_POSTid;$sysset=$_POSTsysset=""?0:1;$readerset=$_POSTreaderset=""?0:1;$bookset=$_POSTbookset=""?0:1;$borrowback=$_POSTborrowback=""?0:1;$sysquery=$_POSTsysquery=""?0:1; 12李振建 基于PHP+MYSQL的图书馆管理系统 $query=mysql_query("select * from tb_purview where id=$id");$info=mysql_fetch_array($query);if($info=false) / $info返回值假执行mysql_query("insert intotb_purview(id,sysset,readerset,bookset,borrowback,sysquery)values($id,$sysset,$readerset,$bookset,$borrowback,$sysquery)");elsemysql_query("update tb_purview setsysset=$sysset,readerset=$readerset,bookset=$bookset,borrowback=$borrowback,sysquery=$sysquery where id=$id");echo"<script language=javascript>alert(权限设置修改成功!);history.back();</script>"?>5.3系统图书档案管理模块设计图书档案管理模块主要包括所有图书列表、图书列表分页、添加图书信息、修改图书信息、删除图书信息和查看详细图书信息等功能。 图5.8 图书档案管理页面效果图查看图书档案管理页面用来显示所有图书的基本信息,并提供修改、删除,添加图书信息的功能,本页面调用了一个page.class.php的分页类,对该页面进行分页显示,相关代码如下:13李振建 基于PHP+MYSQL的图书馆管理系统 <?php$page=$_GETpage;$sql = "select book.barcode,book.id asbookid,book.bookname,bt.typename,pb.pubname,bc.name from tb_bookinfo book join tb_booktype bt on book.typeid=bt.id join tb_publishing pb onbook.ISBN=pb.ISBN join tb_bookcase bc on book.bookcase=bc.id"$query = mysql_query($sql);$totail = mysql_num_rows($query);/记录总条数$number = 20;/每页显示条数$my_page=new PageClass($totail,$number,$page,?page=page);/参数设定:总记录,每页显示的条数,当前页,连接的地址$sql_p = "select book.barcode,book.id asbookid,book.bookname,bt.typename,pb.pubname,bc.name from tb_bookinfo book join tb_booktype bt on book.typeid=bt.id join tb_publishing pb onbook.ISBN=pb.ISBN join tb_bookcase bc on book.bookcase=bc.id LIMIT".$my_page->page_limit.",".$my_page->myde_size;$query_p = mysql_query($sql_p);$result=mysql_fetch_array($query_p);. . . . . .省略掉的非关键代码 ?>5.4系统图书借还模块设计图书借还模块包括图书借阅、图书续借、图书归还、图书借阅查询、图书档案查询和借阅到期提醒等功能。 图5.9 图书借阅效果图14李振建 基于PHP+MYSQL的图书馆管理系统 在图书借阅页面,如图5.9输入正确的读者条形码,点击确定显示读者信息。在添加数据依据中可以根据图书条形码或者图书名称进行添加。图书借阅页面的相关代码如下:<?phpif($_POST