PHP与jQuery实现会议排座管理
2014-10-29郑云波
郑云波
摘 要
基于会议排座系统,能方便的实现会议室管理,可实现快速设置、查找参会人员所在的座位信息,方便参会人员及时查看座位信息,能迅速对号入座。通过对会议排座系统的需求功能进行分析,介绍系统具体实现的技术及方法。
【关键词】PHP jQuery 会议排座
实际工作中,某些会议要求参会人员对号入座,当参会人员较多时,在会场查找座位上的名字有所不便,会议排座系统凭借现今优良的网络环境,使参会人员可以通过诸如智能手机、平板电脑等设备,快速查找到自己的座位信息,并以图例的效果显示出来,及大的方便参会人员快速入座。
系统主要涉及的人员角色有会议管理人员和参会人员,会议管理人员主要负责会议室的设定、会议信息设定以及排座信息设定等工作,而参会人员主要使用到的功能是参会时对个人座位位置的检索。管理员对会议的具体地点与时间预先设置,之后可针对会议添加参会人员的名单信息并与座位号相绑定,这些信息均存放到服务器端的数据库中。之后参会人员在会议的有效期内,都可以通过web方式自由查看自己所参与的会议主题、时间、座位信息等。如果有考勤需求,还可以针对具体的运行条件,通过电子条码方式实现签到功能。
1 软件支持
1.1 Apache+PHP+MySql
三者均为免费或者开源软件,无需为软件的发布再支付许可费用。开源的特点也使得开发者可以灵活的修改源代码,有着极强的灵活性。同时三者的组合历经多年多种环境的调试与运行,有着良好的稳定性。现行的某些版本提供了快速安装与设置功能,使得三者的黄金组合可以快速搭建和调试,有着快速、便捷性。加上三个软件都支持在不同的操作平台运行,使得开发后的软件几乎可以无视运行的平台,有着极好的兼容性。
1.2 jQuery
The write less , do more!这是jQuery最真实的功能说明。使用它的高级选择器,配上几行代码就能实现令人惊奇的效果。现行的主流浏览器都对jQuery有着良好的支持,它不仅完全支持Ajax,而且丰富的抽象概念更能提高编程效率。
2 会议排座功能
会议室管理:会议管理员能自由新增、删除会议室,设置并维护会议室名称,不同的会议室由于实际空间大小等因素决定它们拥有不同座位信息,此外在同一间会议室内,每一排座位数还由于房屋空间限制可能导致各排的座位数据均不相同,这此相关信息均由会议管理员预先在系统中进行设置。之后涉及到的排座和查询相关功能,均基于此参数进行识别。
会议管理:会议管理员可以根据实际会议内容、时间和点点新增会议信息,而召开会议所在的会议室则只能在“会议室管理”功能中添加后的列表中进行选择。通过对会议具体召开时间的设置,能方便的控制当前有效的会议并进行管理。对于某些风格特点较强的会议,如国庆、元旦主题的会议,还可以自定义相应的Banner图标,以增强界面视觉效果。
排座管理:排座管理功能的实现必须基于“会议管理”功能中所选定的会议室以及会议室所对应着的座位信息,生成会议室座位图例,此时会议管理员仅需点击相应座位,在系统的弹窗中便可设置参会人员姓名,以方便之后参会人员使用自己的姓名查找座位信息。对于参会人员相对固定的使用环境,还可以使用拼音快查的方式,快捷的录入参会人员的姓名信息,不仅提高工作效率,还能防止输入姓名时误拼写参会人员姓名所造成的尴尬。
参会查询:会议系统首页将显示由会议管理员设置好的并且在有效期内的所有会议,参会人员可根据自己所要参加的会议点击相关链接进行查看排座信息。系统使用图例的方式,参会人员能在座次图中找到自己的姓名及座位所在位置。同时系统还提供查询功能,参会人员通过键入自己的姓名或拼音简码进行快速查询,系统在找到符合的人员姓名后,将显示出参会人员所在的座位位置并且在图例中以明显的颜色突出显示出来。
3 排座系统主要功能的实现
系统主要采用B/S模式,这样可方便参会人员使用任何可上网设备进行访问,而无需安装其它任何客户端软件。下面简单介绍系统主要实现的几个关键功能及相关方法。
3.1 会议室座位信息设置与管理
会议室座位信息是系统最基本运行的一项内容,实际使用中,系统可支持多个会议室,不同的会议室座位信息不一定相同,因此对每间会议室的座位信息采用序列的方式进行保存。例如某间会议室的座位信息可能是前两排10个座位,第三排至第五排20个座位,其它排均为30个座位,则座位信息可以用10,10,20,20,20,30......序列进行保存。
在会议管理员对座位设置或参会人员最终查询座位信息时,则以(1,10),(2,10),(3,20),(4,20),(5,20),(6,30)......的方式顺序生成座位图例,每一组的第一个参数代表了所在行排,而第二个参数则代表了当前所在排拥有的座位个数,它们的组合生成唯一的坐标[x , y],坐标以表示了当前某座位在会议室中所处的位置。
3.2 姓名简拼的处理
姓名简拼主要是为了方便会议管理员添加人员姓名以及最终参会人员快速输入自己的姓名进行查询。
此处主要介绍批量导入会议人员名单的方法,当大批量添加人员名单时,手工为每个姓名添加简拼是一个枯燥且费时的工作,使用程序能快速、大量生成姓名简拼,需要注意的是多音字简拼的生成,比如“长江”的“长”,可读“chang”亦可读“zhang”。部分代码如下。
判断是否是多音字:
if (stripos($line, $name) != = false)
{
$spell[$w_order][] = strtoupper($key[0]);
$w_add_num++;endprint
}
$key代表相应的拼音,而$line代表每个拼音所包含的文字,当拆分后的姓名中的某个字能在对应的$line中找到,即表明其发音为$key,则取出此发音的首字母$key[0],而$w_order和$w_add_num分别用于计数,当两者相等时,表示此字非多音字,反之为多音字。
在将姓名中的每个字所对应的所有拼音取得后,按顺序依次排列组合,即可生成当前姓名所可能的所有姓名的简拼。
3.3 会议排座管理
会议排座使用jQuery技术来实现实时对座位占用情况的改变。当系统从数据库中取得所选择的会议室信息后,将动态的生成相应会议室的座位图表。会议管理员点击某一个座位图标后,程序调用jQuery的click事件,弹出的输入框用于接收参会人员姓名,并获取图标所对应的坐标(x,y)。当输入框关闭时,jQuery将调用post方法将姓名和座位坐标传送到服务器端的PHP代码进行处理。
PHP代码首先对相应的会议信息、坐标信息进行判断是否有效,当满足设置座位的条件时,则在数据库中进行数据查询,查询的主要目是判断当前坐标的状态。查询结果将处理以下几种情况:
①返回座位状态为空时,代表当前座位还未被占用,则直接将参会人员姓名对应着座位坐标写入数据库,将数据库操作结果再次返回,结果正常时再次调用jQuery程序将座位图标颜色进行修改,以标记出当前哪一个座位已安排了参会人员。
②当状态为占用时,代表当前座位已被占用,此时有两种状态,其一是判断是否是参会人员姓名发生重复输入,如果结果为真,则发出提示且不对座位图标信息进行修改;否则将原有的姓名进行替换。主要代码如下:
var si = saveid.slice(1);
var coord = si.split('-');
si = 's'+String(si);
var nameValue = $$("idBoxTxt").value;
if (nameValue != '')
{
$.post(dealUrl,
{ mname:nameValue,
coordx:coord[0],
coordy:coord[1],
whichm:$("#meetId").val(),
whichr:$("#roomId").val() },
callbackFun(si) );
$("#"+saveid).css("background-color","#F00");
}
4 结束语
jQuery得到现行多数主流浏览器的支持,实现的特效越来越多,加之其UI插件的使用使得整个系统界面简洁、直观、方便。在现如今网络无处不在的环境下,会议排座系统的使用极大的方便了参会人员的座位信息查询,部分地提高了会议的效率。
参考文献
[1]范红月.图书馆自习室自动排座系统[J].图书馆杂志,2008(9).
[2]单东林,张晓菲,魏然.锋利的jQuery[M].北京:人民邮电出版社,2009(6).
作者单位
玉溪师范学院图书馆 云南省玉溪市 653100endprint