PHP+MYsql图书管理系统-毕业设计-毕业论文

上传人:美*** 文档编号:82057113 上传时间:2022-04-28 格式:DOC 页数:27 大小:2.38MB
返回 下载 相关 举报
PHP+MYsql图书管理系统-毕业设计-毕业论文_第1页
第1页 / 共27页
PHP+MYsql图书管理系统-毕业设计-毕业论文_第2页
第2页 / 共27页
PHP+MYsql图书管理系统-毕业设计-毕业论文_第3页
第3页 / 共27页
点击查看更多>>
资源描述
基于PHP+MYSQL的图书馆管理系统密级: JINING UNIVERSITY 学 士 学 位 论 文 THESIS OF BACHELOR题 目 基于PHP+MYSQL的图书馆管理系统 系 别: 计算机科学系 专业年级: 计算机科学与技术09级本科 学生姓名: 李振建 学号: 2009371005 指导教师: 蒿琳 职称: 助教 起讫日期: 2012.10 -2013.5 25李振建 基于PHP+MYSQL的图书馆管理系统目 录 摘要.1关键词1Abstract1Key words11 绪论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基于PHP+MYSQL的图书馆管理系统计算机科学与技术专业学生 李振建指导教师 蒿琳摘要:随着计算机的不断普及和发展,很多大型的学校图书馆虽然已经有一整套比较完善的图书馆管理系统,然而在一些中小型的学校图书馆中,绝大部分的工作仍需图书管理员由手工来完成,工作效率低下。本文设计的图书馆管理系统基于B/S架构,使用最流行的服务器端脚本语言PHP,并以与PHP良好匹配的MYSQL数据库为本系统的数据库,Apache作为本系统的服务器,实现了图书信息的添加、查询、删除和借阅归还等功能。系统使用Jquery EasyUI插件编写用户界面,实现了良好的用户体验。关键词: 图书管理 PHP MySQL Apache Library 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.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是完全免费的,在官网可以下载到最新的版本。本文中使用的版本是WampServer Version 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结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过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图书馆管理系统功能结构图4 总体功能设计4.1 系统流程图图4.1 DEEPIN图书馆管理系统系统流程图4.2 系统数据库设计4.2.1 数据库概念设计1.图书档案实体 图4.2图书档案实体E-R图 2.读者档案实体 图4.3读者档案实体E-R图 3借阅档案实体 图4.4借阅档案实体E-R图4.归还档案实体 图4.5归还档案实体E-R图4.2.2 创建数据库及数据表 结合实际情况和分析图书管理员需求,DEEPIN图书馆管理系统数据库包含以下10个表格。图4.6 tb_bookcase表图4.7 tb_booktype表图4.8 tb_bookinfo表图4.9 tb_borrow表图4.10 tb_library表图4.11 tb_manager表图4.12 tb_publishing表图4.13 tb_purview表图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;. . . . . .省略掉的其它的数据库创建代码5 系统设计与实现5.1 系统首页设计系统首页显示管理员基本信息, $_SERVERREMOTE_ADDR用来获取客户端IP地址9。图5.1首页效果图5.2 系统管理员模块设计管理员模块主要包括管理员登录、查看管理员列表、添加管理员信息、管理员权限设置、管理员删除和更改口令6个功能。系统只能通过login.php文件进行登录,访问其它页面首先验证是否登录,若没有登录跳转到登录页,验证用户是否登录的关键代码如下:?php session_start();if($_SESSIONadmin_name=)echo alert(对不起,请通过正确的途径登录!);window.location.href=login.php;?图5.2管理员登录页面效果图系统登录界面,自定义的JavaScript函数,用于判断管理员名和密码是否为空。相关代码如下: function check(form)if (form.name.value=)alert(请输入管理员名称!);form.name.focus();return false;if (form.pwd.value=)alert(请输入密码!);form.pwd.focus();return false; 图5.3未输入管理员名弹出的提示框图5.4未输入密码弹出的提示框图5.5 管理员设置页面效果图系统设置页面列出所有管理员及其相对应的权限,可对某个管理员进行权限设置和管理员添加和删除,相关代码如下: ?phpinclude(conn/conn.php);/引入数据库配置文件$sql=mysql_query(select m.id,m.name,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysquery from 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). . . . . .省略的非关键代码 管理员名称 . . . . . .同理省略的非关键代码 input name=checkbox type=checkbox class=noborder value=checkbox disabled=disabled . . . . . .同理其它权限判断如果值为1则复选框为勾选状态 a href=javascript:windowopen(manager_modify.php?id=,权限设置)权限设置 a href=manager_del.php?id=删除 图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;$query=mysql_query(select * from tb_purview where id=$id);$info=mysql_fetch_array($query);if($info=false) / $info返回值假执行mysql_query(insert into tb_purview(id,sysset,readerset,bookset,borrowback,sysquery) values($id,$sysset,$readerset,$bookset,$borrowback,$sysquery);elsemysql_query(update tb_purview set sysset=$sysset,readerset=$readerset,bookset=$bookset,borrowback=$borrowback,sysquery=$sysquery where id=$id);echoalert(权限设置修改成功!);history.back();?5.3系统图书档案管理模块设计图书档案管理模块主要包括所有图书列表、图书列表分页、添加图书信息、修改图书信息、删除图书信息和查看详细图书信息等功能。图5.8 图书档案管理页面效果图查看图书档案管理页面用来显示所有图书的基本信息,并提供修改、删除,添加图书信息的功能,本页面调用了一个page.class.php的分页类,对该页面进行分页显示,相关代码如下:page_limit.,.$my_page-myde_size; $query_p = mysql_query($sql_p); $result=mysql_fetch_array($query_p); . . . . . .省略掉的非关键代码 ?5.4系统图书借还模块设计图书借还模块包括图书借阅、图书续借、图书归还、图书借阅查询、图书档案查询和借阅到期提醒等功能。 图5.9 图书借阅效果图在图书借阅页面,如图5.9输入正确的读者条形码,点击确定显示读者信息。在添加数据依据中可以根据图书条形码或者图书名称进行添加。图书借阅页面的相关代码如下: ?phpif($_POSTinputkey!=)$f=$_POSTf;$inputkey=trim($_POSTinputkey);$barcode=$_POSTbarcode;$readerid=$_POSTreaderid;$borrowTime=date(Y-m-d);$backTime=date(Y-m-d,(time()+3600*24*30); /归还图书日期为当前期日期+30天期限$query=mysql_query(select * from tb_bookinfo where $f=$inputkey);$result=mysql_fetch_array($query); /检索图书信息是否存在if($result=false)echo alert(该图书不存在!);window.location.href=bookBorrow.php?barcode=$barcode;else$query1=mysql_query(select r.*,borr.borrowTime,borr.backTime,book.bookname,book.price,pub.pubname,bc.name as bookcase from tb_borrow as borr join tb_reader as r on borr.readerid=r.id join tb_bookinfo as book on book.id=borr.bookid join tb_publishing as pub on book.ISBN=pub.ISBN join tb_bookcase as bc on book.bookcase=bc.id where borr.bookid=$resultid and borr.readerid=$readerid and ifback=0); /检索该读者所借阅的图书是否与再借图书重复$result1=mysql_fetch_array($query1);if($result1=true) /如果借阅的图书已被该读者借阅,那么提示不能重复借阅echo alert(该图书已经借阅!);window.location.href=bookBorrow.php?barcode=$barcode;else /否则,完成图书借阅操作$bookid=$resultid;mysql_query(insert into tb_borrow(readerid,bookid,borrowTime,backTime,operator,ifback)values($readerid,$bookid,$borrowTime,$backTime,$_SESSIONadmin_name,0); echo alert(图书借阅操作成功!);window.location.href=bookBorrow.php?barcode=$barcode;?图5.10 图书续借页面效果图图书续借功能,如图5.10首先要输入读者条形码,点击确定会显示相应读者的基本信息,下面列出已经借阅的图书,点击续借会在应归还时间上加30天,系统提示 “书续借操作成功!”,图书续借相关代码如下:?phpsession_start();include(conn/conn.php);$barcode=$_GETbarcode;$new=$_GETbackTime;$newbackTime=date(Y-m-d,(mktime(0, 0, 0, substr($new,5,2), substr($new,8,2), substr($new,0,4)+3600*24*30); /更新续借期,将动态获取的还书期日转化为时间截,然后再求出续借后的还书日期$borrid=$_GETborrid;mysql_query(update tb_borrow set backTime=$newbackTime,ifback=0,operator=$_SESSIONadmin_name where id=$borrid);echo alert(图书续借操作成功!);window.location.href=bookRenew.php?barcode=$barcode;?图5.11 图书归还的实现过程在图书归还页面输入读者条形码如图5.11,点击确定会显示相应读者的基本信息,下面列出读者已经借阅的图书信息,在相应图书下点击归还超链接,便可完成图书归还操作,图书归还的相关代码如下:?phpsession_start();include(conn/conn.php);$backTime=date(Y-m-d); /归还图书日期$borrid=$_GETborrid;mysql_query(update tb_borrow set backTime=$backTime,ifback=1,operator=$_SESSIONadmin_name where id=$borrid);echo alert(图书归还操作成功!);window.location.href=bookBack.php?barcode=$barcode;?图5.12 图书借阅查询页面效果图图书借阅查询功能是查询已经借阅的图书的基本信息,查询依据可根据图书条形码、图书名称、读者条形码、读者名称和借阅时间进行查询,勾选查询条件后,点击查询便可完成指定条件下的查询。图书借阅相关代码如下:?phpinclude(conn/conn.php);$sql=mysql_query(select b.borrowTime,b.backTime,b.ifback,r.barcode as readerbarcode,r.name,k.id,k.barcode,k.bookname from tb_borrow b join tb_reader r on b.readerid=r.id join tb_bookinfo k on b.bookid=k.id);if($_POSTSubmit!=)$f=$_POSTf;$key1=$_POSTkey1;$sdate=$_POSTsdate;$edate=$_POSTedate;$flag1=$_POSTflag1;$flag2=$_POSTflag2;if($flag1=a)$sql=mysql_query(select b.borrowTime,b.backTime,b.ifback,r.barcode as readerbarcode,r.name,k.id,k.barcode,k.bookname from tb_borrow b join tb_reader r on b.readerid=r.id join tb_bookinfo k on b.bookid=k.id where $f like %$key1%);if($flag2=b)$sql=mysql_query(select b.borrowTime,b.backTime,b.ifback,r.barcode as readerbarcode,r.name,k.id,k.barcode,k.bookname from tb_borrow b join tb_reader r on b.readerid=r.id join tb_bookinfo k on b.bookid=k.id where borrowTime between $sdate and $edate);if($flag1=a & $flag2=b)$sql=mysql_query(select b.borrowTime,b.backTime,b.ifback,r.barcode as readerbarcode,r.name,k.id,k.barcode,k.bookname from tb_borrow b join tb_reader r on b.readerid=r.id join tb_bookinfo k on b.bookid=k.id where borrowTime between $sdate and $edate and $f like %$key1%);$result=mysql_fetch_array($sql);6.系统安装文件的制作图6.1 系统安装表单图1. 制作PHP安装程序的原理 PHP程序的安装原理就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件。 2. 制作PHP安装程序的步骤 第一步: 检查目录或文件的权限 第二步: 修改或填加配置文件 第三步: 检查配置文件正确性 第四步: 导入数据库 第五步: 锁定或删除安装文件 3.制作安装用到的PHP函数 检查文件是否可写,返回布尔值:is_writable(conn/config.php); fopen() 文件操作函数,打开一个文件或新建文件 fwrite() 文件操作函数,写入内容到文件 rename() 文件操作函数,给文件改名 本系统安装相关代码见附录A 7.系统测试7.1 测试目的测试需要注意的方面有:l 系统能正常安装。l 系统的界面正确无误显示。l 每个页面的按钮、菜单正常显示。l 各个操作有相应信息提示和错误提示。7.2 测试方法主要对系统执行了黑盒测试,保证各个功能正常使用10。7.3 测试结论测试目的测试输入预期测试结果实际测试结果1目的:正确输入,能否登录成功用户名:jnxy密码:111转到首页同预期测试结果2目的:不输入用户名或密码,输出结果不输用户名“请输入用户名”同预期测试结果不输入密码“请输入密码”3目的:借还测试没有选书情况系统提示无书同预期测试结果4目的:添加读者信息测试填写信息不完整不能提交必填项不能为空同预期测试结果通过系统测试,证明本系统各部分功能能够正常运行。系统能够应用于学校图书馆的管理。参考文献1高洛峰.细说PHP【M】北京:电子工业出版社,2012.103.2刘中华、潘凯华.PHP项目开发案例全程实录(第二版)【M】北京:清华大学出版社,2011.5.3张恩民. PHP开发实战权威指南【M】北京:清华大学出版社,2012.36.4(澳)威利/汤姆森|译者:武欣.php和mysql web开发(原书第4版)【M】北京:机械工业出版社,2009.508.5明日科技 等编著. 实战突击:PHP项目开发案例整合 【M】北京:电子工业出版社, 2011.9.285.6 王宏涛; 罗正才. 用Apache&MySQL&PHP构建高校教务管理系统Educational administration management system with Apache&MySQL&PHP【J】.吉林:吉林大学学报(信息科学版) .2004.2.7 赵鹤芹 . 设计动态网站的最佳方案:Apache+PHP+MySQL Best scheme of design dynamic website: Apache+PHP+MySQL【J】.北京:北京师范大学珠海分校商学院 广东珠海519085. 2007.2 .8 (美)弗兰纳根 著.淘宝前端团队 译. JavaScript权威指南(第6版)【M】北京:机械工业出版社,2012.8.9周寅 . 基于PHP的幼儿园信息管理系统的设计与实现The Design and Achievement of Kindergarten Information Management System Based on PHP【D】 . 苏州:苏州大学.2005.37.10张飞 . 基于PHP和MySQL的同学录管理系统Classmates Management System Based on PHP and MySQL 【J】.阜阳:安徽广播电视大学阜阳分校 . 2012.3.致谢通过对一个完整的图书馆管理系统的开发,使我对PHP有了更深度的认识和了解,也使我对MYSQL数据库的开发技能有所提高,为我以后的开发工作打下了良好的基础,同时也使我认识到自己所学的知识还很肤浅,今后是需要我努力提高的。在本次毕业设计的过程中,得到了指导老师细致入微的支持,在此特别感谢蒿琳老师的大力帮助。在总体论文规划和实施上给予了非常大的帮助,她认真负责的工作态度和深厚的理论水平使我受益匪浅。这对于我以后的学习和工作都有巨大的帮助,感谢她细心而又耐心的指导。 附录安装文件相关代码如下:?phpif(!is_writable($file)echo不可写!;elseecho可写!; if(isset($_POSTinstall) $config_str=;$ff= fopen(conn/config.php,w+);fwrite($ff, $config_str);/=我是分隔线=if(!$link= mysql_connect($mysql_host,$mysql_user,$mysql_pass)echo数据库连接失败!请返回上一页检查参数返回修改;elsemysql_query(SET NAMES gb2312);mysql_query(CREATE DATABASE $mysql_dbname);mysql_select_db($mysql_dbname);/=创建表结构=$sql_query=CREATE TABLE IF NOT EXISTS tb_bookcase ( id int(10) unsigned NOT NULL AUTO_INCREMENT, name varchar(30) DEFAULT NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=55 ;. . . . . .省略掉的其它数据库创建代码/=添加初始数据=$sql_query=INSERT INTO tb_bookcase (id, name) VALUES(49, VC书架),(54, mysql),(46, PHP书架),(48, net书架),(37, ASP图书架),(47, JSP书架);. . . . . .省略掉的其它数据添加代码foreach($sql_query as $val)mysql_query($val);rename(install.php,install.lock);/安装后文件改名echoalert(恭喜您安装成功!n系统初始用户名:jnxyn初始密码:111n请您尽快更改用户名密码!);top.location.href=login.php; ?
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!