吕良 苏锋
海军航空大学青岛校区,中国·山东 青岛 266041
在目前“互联网+”的信息化背景下,智能化应用已经渗透到生活中的每一个领域。根据人们生活快节奏的特点,构建提高人们生活质量有效节约时间的智能场地预约管理系统迫在眉睫。论文主要基于B/S 结构模式,运用WMAP开发架构,结合Dreamweaver、Fireworks 等开发工具,设计并实现了一套基于PHP 的智能场地预约管理系统。系统的运行不仅提高了场地的使用效率,使场地管理更加信息化、智能化,同时为人们提供了更加便捷的生活、工作平台,对专业建设和人才培养具有一定的实践意义和应用价值。
软件采用B/S 结构,前后端分离的方式开发实现,前端在这里主要实现人机交互,实现会议查询、会议预约界面显示、按钮交互的功能,后端更多是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
本系统前端浏览器界面采用HTML、CSS、JavaScript经典的前端三剑客编程语言来实现的,后端数据交互主语言采用的是PHP,数据库采用的是MySQL 关系型数据库管理系统。
这里重点说一下本系统基于PHP 程序工作的总体流程。PHP 的运行原理就是Apache(Web 服务器)、PHP、浏览器三者之间的协作过程:
①当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP 请求,并将请求传送化支持PHP 的Web 服务器[1]。
②Web 服务器接受这个请求,并根据其后缀进行判断如果是一个PHP 请求,Web 服务器从硬盘或内存中取出用户要访问的PHP 应用程序,并将其发送给PHP 引擎程序。
③PHP 引擎程序将会对Web 服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。
④PHP 引擎将生成HTML页面返回给Web 服务器。Web 服务器再将HTML页面返回给客户端浏览器,最后一个完整的页面基于通过浏览器展现在我们眼前。
数据库采MySQL 数据库,分为三个表,分别为用户表、预约表、内容表。用户表主要用来存储管理员账号密码信息,预约表用于存放用户提交的预约信息,是一个临时表。内容表存放管理员审核过后的预约信息。核心技术到一个MySQL view 虚拟表视图,是一个虚拟逻辑表,本身并不包含数据,视图中的字段数据就是来自一个或多个数据库中的真实的表中的字段,其优点是可以快速访问两表或多表连接所组成的数据。有时要访问表间连接所组成的数据集,可以把查询出来的数据集定义成视图,可以帮助快速访问所需的数据[2]。语法格式为CREATE VIEW <视图名> AS
本次开发没有采用前端框架开发,只是采用原生的HTML、CSS、JavaScript 语言开发,因此在开发时要考虑浏览器的兼容性,由于IE 浏览器早期版本存在兼容性问题,因此在这里采用谷歌浏览器或者火狐浏览器进行开发。
前端分为用户管理模块和功能模块两部分,用户管理模块实现用户权限的管理,功能模块实现预约查询功能。
4.1.1 预约部分
预约表单主要展示用户需要预约填写的基本信息,预约日期、预约场地以及预约具体时间需要在用户提交的表单的时候进行前端的判断,这里需要自定义设计一个提交判断函数,通过PHP 后端查询数据库里已预约的场地及日期时间通过JSON 数据格式取到前端,我们在此定义为JsonStr,然后在制定触发判断条件,只有当用户提交的预约场地和JsonStr 中场地数据相同时,才进行场地预约日期和具体时间的判断,预约场地不同不需要进行后续判断,判断时逻辑步骤:判断预约日期和JsonStr 中日期是否有冲突,如果相同,则进一步判断具体开始结束时间,预约开始时间应当小于JsonStr 中相同场地相同日期的开始时间或者大于等于结束时间,预约结束时间应该小于等于JsonStr 中开始时间或者大于结束时间[3]。判断函数在提交时触发,保证预约的场地日期具体时间是唯一的。此外,为增强软件使用友好性,加入表单信息输入提示及判断主要信息是否输入功能。
4.1.2 查询部分
查询表单主要是方便用户在预约使用之前进行相关场地使用情况的查询,以便找到合适的场地及预约时间,PHP连接数据库将查询当日之后的预约相关数据通过JSON 格式传到前端,按表单设计展示在查询界面中,这里增加了按条件查询功能,设计查询函数,主体为通过PHP 执行SQL 语句来实现where 不同条件的查询,函数设置载入查询条件接口的形参,将查询条件构造成数组,然后通过循环遍历将数组条件作为实参载入函数进行不同情况的查询。
用户管理模块主要是实现预约软件管理端功能的,前台用户提交的数据被存入数据库临时预约表中,管理者在这个模块中可以实现对预约的审核通过,管理预约的增删查改,实现功能权限[4]。用户管理模块还可以实现文件的上传功能,主要通过PHP 内置函数move_uploaded_file 来实现。
后端主要负责数据的处理,前端与数据库的交互[5]。本设计主要依靠PHP 语言进行前后端交互、数据处理,用户界面提交的预约数据通过PHP 解析处理,然后PHP 访问MySQL 数据库,将预约数据存储到数据库临时预约表中,设计审核函数,主要作用为管理员审核通过后,PHP 操作数据库将临时预约表中的内容添加到日程表中并将此内容从预约表中删除,前端查询部分展示是通过PHP 从数据库中获取相应的数据,采用JSON 格式发送给前端界面。
该预约软件采用模块化设计,以PHP 作为核心开发语言,将软件的实现分解为前端和后端两部分,JSON 作为数据交互桥梁,提高了软件开发的伸缩性和扩展性。