图书馆占座系统(七)

article/2025/9/30 13:29:12

第一次更新(2018.8.19 19:50)

嗯,好久没更新了,是因为做项目做兴奋了,图书馆占座系统已经开发完了,另外我又开发了其他两个系统,这个另说。

上一章讲到cookie,登录过去的界面判断cookie是否存在后,存在即进行操作,不存在就跳转到登录页面,前面已经讲过我们可以读取数据库中的座位号在网页加载后实时显示出来已经被占的座位,现在我们需要占座以及取消座位,当点击一个座位时,系统判断这个座位是否被占,如果被占提醒,否则开始查询用户是否存在占座,如果不存在占座就把座位号写入数据库,如果存在就提示存在,取消后再占。
以下是代码:
点击座位时:

    $(function() {$(".img").click(function() {var seat_num = $(this).attr("name");element = document.getElementsByName(seat_num);if (element[0].src.match("no")) {var ggg = boom(seat_num);if (ggg == 0) {alert('此座位未占');if (confirm('此座位未占,是否需要占座?')) {element[0].src = "yes.png";changeee(seat_num)}} else {alert('你已经占坐座位了,请取消后再占')}} else if (element[0].src.match('yes')) {abc = cba(seat_num);if (abc == 1) {if (confirm('是否取消占座?(点击确定取消占座)')) {abc = cba(seat_num);qqq = zzz();if (qqq == 1) {alert('取消成功');element[0].src = "no.png"} else {alert(qqq);alert('取消失败')}}} else {alert('这个座位有人了,请取消您自己的座位')}}})
})

这段代码的意思是
先获取当前点击对象的name,在获取这个点击对象的src中是否含有no或者yes,(no是没有占座。yes是占座),当检查到这个座位有人占了,则执行一个查询函数,查询这个座位是否是自己的座位,
js代码如下

else if(element[0].src.match('yes')){abc =cba(seat_num);if (abc==1)//是自己的座位{if(confirm('是否取消占座?(点击确定取消占座)')){abc=cba(seat_num);//判断当前点击座位是否为自己的座位qqq=zzz();//调用设置座位为空函数即取消占座if(qqq==1){alert ('取消成功');element[0].src="no.png";}else{alert(qqq);alert('取消失败');}//cheak(flag1);//调用取消函数,并写入数据库}}else{alert('这个座位有人了,请取消您自己的座位');}//}

如果是yes,则运行cba()这个函数,并把当前座位值传给这个函数,并将返回值赋给abc(原谅我的命名);
以下是该函数:

$function cba(seat_num){var flag11=null;if (window.XMLHttpRequest){// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码xmlhttp=new XMLHttpRequest();}   else {// IE6, IE5 浏览器执行代码xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){//onreadystatechange此函数意思为当服务器响应//已经做好被处理的准备是做出的响应if (xmlhttp.readyState==4 && xmlhttp.status==200){//readystate的值为4或status为200时代表服务器可以与之通信flag11=xmlhttp.responseText;}}xmlhttp.open("GET","一楼6.php?seat_num="+seat_num,false);xmlhttp.send();//请求方式为post才有用return flag11;

这是一个ajax函数,我们通过ajax函数将座位号传入php文件,并将返回值赋给flag11
以下是php代码

$show_seat=$_GET['seat_num'];$name=$_COOKIE["name"];//取出name的cookie值$sql = "select seat from ceshi.ceshi1  where name='$name'";$obj = mysql_query($sql);
$rows = mysql_fetch_row($obj);//返回结果,当前座位号被存在了$rows[0]中;
if($rows[0]==$show_seat){echo 1;
}
else{echo 0;
}

首先获取座位号和当前用户名,然后查询当前用户名下的座位表中的座位号,如果传入的座位号和当前座位号相等,则返回1,否则返回0;
现在来看js代码
当返回值是1的时候,也就证明这个点击座位是当前的用户所占的座位,则调用zzz()函数,并把得到的返回值赋给qqq,
以下是zzz()的函数,

function zzz() {var qqq = null; //必须在外面先声明!if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码xmlhttp = new XMLHttpRequest();} else {// IE6, IE5 浏览器执行代码xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange = function() { //onreadystatechange此函数意思为当服务器响应//已经做好被处理的准备是做出的响应if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { //readystate的值为4或status为200时代表服务器可以与之通信qqq = xmlhttp.responseText;console.log(qqq);}}xmlhttp.open("GET", "一楼5.php", false);xmlhttp.send(); //请求方式为post才有用return qqq; //return一定要写在这,并且需要在调用函数下声明!}

我们通过ajax直接调用php文件。将返回值赋给qqq,并把qqq返回给原函数
以下是php代码

$name=$_COOKIE["name"];//取出name的cookie值$sql = "update ceshi.ceshi1 SET seat='null' where name = '$name'";$obj = mysql_query($sql);if ($obj&&mysql_affected_rows($link))//判断是否执行sql语句和判断是否对数据库执行操作       
{echo 1;}else
{echo 0;
}

先用cokie获得当前的用户名,然后修改当前用户名下的座位号为null,这里不能用delete,因为delete是删除整条记录,而不能仅仅删除一个记录,然后判断操作是否成功,若成功返回1,否则返回0

再来看html代码
如果是1,则提示取消成功,如果是0提示取消失败,
当cba函数返回值是0,即当前用户并不是此座位的占有者提示、”这个座位有人了,请值您自己的座位”

下面来讲当点击的是没人占的座位时,
先判断所在用户是否存在已占座位,运行boom函数并传入座位号,将返回值赋给ggg;一下是代码

function boom(seat) {var fff = null; //必须在外面先声明!if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码xmlhttp = new XMLHttpRequest();} else {// IE6, IE5 浏览器执行代码xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange = function() { //onreadystatechange此函数意思为当服务器响应//已经做好被处理的准备是做出的响应if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { //readystate的值为4或status为200时代表服务器可以与之通信fff = xmlhttp.responseText;alert(fff);}}xmlhttp.open("GET", "一楼4.php?seat=" + seat, false);xmlhttp.send(); //请求方式为post才有用return fff; //return一定要写在这,并且需要在调用函数下声明!
}

我们把座位号传入php文件
以下是PHP代码

$seat=$_GET['seat'];$name=$_COOKIE["name"];//取出name的cookie值$sql = "select seat from ceshi.ceshi1  where name= '$name'";//判断当前用户名seat下是否有值,$obj = mysql_query($sql);//在执行成功时返回true,出错返回false
//echo $obj;
$rows = mysql_fetch_row($obj);//返回一个数组,数组的值为查询到的,先把sql语句扔进sql软件,软件的出的结果就是这个row的遏制
//echo $rows[0];if ($rows[0]=='null')//当返回的值不为null,即有座位,返回有座位标识
{   echo  0;
}
else{echo $rows[0];echo 1;
}

首先获得座位号和当前用户名;在查找当前用户名下的座位值,如果是null代表没有座位,返回0,如果有返回当前当前的座位值,js函数拿到返回值后将此值返回给主函数,如果返回的是0,代表该用户没有占座,则执行changeee函数
执行changeee函数
下面是这个函数的代码

function changeee(seat_num){if (window.XMLHttpRequest){// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码xmlhttp=new XMLHttpRequest();}   else {// IE6, IE5 浏览器执行代码xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){//onreadystatechange此函数意思为当服务器响应//已经做好被处理的准备是做出的响应if (xmlhttp.readyState==4 && xmlhttp.status==200){//readystate的值为4或status为200时代表服务器可以与之通信xmlhttp.open("GET","一楼.php?seat_num="+seat_num,false);xmlhttp.send();//请求方式为post才有用}

将座位号传入php,
php代码如下

$name=$_COOKIE["name"];//取出name的cookie值
$seat=$_GET['seat_num'];
//确认座位//
$sql = "update ceshi.ceshi1 set seat='$seat' where name='$name'";

获取当前用户名字和座位号,并将座位号写入数据库。然后在主函数内将图标颜色改变,
那么至此,图书馆占座系统的基本操作就完成了。


http://chatgpt.dhexx.cn/article/XYK0BIAT.shtml

相关文章

图书馆占座系统-产品需求规格说明书

图书馆占座系统-产品需求规格说明书 一. 文档介绍1. 文档目的2. 文档范围3. 读者对象4. 参考文档5. 术语与缩写解释 二. 产品介绍1. 产品背景2. 产品功能三. 产品面向的用户群体四. 产品应当遵循的标准或规范五. 产品范围六. 产品中的角色七. 产品的功能性需求1. 数据流图2. 用…

图书馆占座系统(SSM,JQUERY-EASYUI,MYSQL)

图书馆预约占座管理系统(SSM,JQUERY-EASYUI,MYSQL)(毕业论文14000字,共47页,程序代码,MySQL数据库) 【项目演示视频】 【运行环境】 Eclipse, IDEA JDK1.7(JDK1.8) Tomcat7(Tomcat8) 【技术栈】 JAVA, JSP, SSM, JQUERY, JQUERY EASYUI, MYSQL, HTML, CSS, JAVASCR…

ubuntu查看OpenGL版本

glxinfo | grep "OpenGL version" 或者 glxinfo | grep OpenGL 版本为3.3

Linux - 如何查看Ubuntu系统的版本信息

1、打开终端:可以用快捷键CtrlAltt,也可以点击左侧的终端图标: 2、命令:cat /proc/version 作用: 查看目录"/proc"下version的信息,也可以得到当前系统的内核版本号及系统名称 。 补充说明: &a…

查看ubuntu系统的版本信息

目录 1)查看linux内核、gcc版本、ubuntu版本 2)显示linux的内核版本和系统是多少位 1)查看linux内核、gcc版本、ubuntu版本 显示如下 Linux version 4.15.0-29-generic (builddlcy01-amd64-024) linux内核版本号 gcc version 5.4…

ubuntu 查看mysql版本

简言 办法1:运行命令:mysql -V 效果如下图 办法:2:连接进mysql,运行命令:select version(); 办法3:连接进mysql,运行命令:show variables like ‘%version%’; 效果如下图 办法4…

Ubuntu-查看ubuntu系统的版本信息

安装软件或者搭建服务的时候,需要了解当前系统的版本信息,在这里分享怎么查看当前ubuntu系统的版本信息。 注:我这里使用的是带图形界面的Ubuntu 工具/原料 Ubuntu系统的电脑一台或Ubuntu虚拟机 Linux系统的电脑一台或Linux虚拟机 方法/…

Ubuntu查看cuDNN版本

1、先成功下载cuDNN(如果这个有问题的,请参考我的另一个博客,地址:tensorflow2.0及以上版本用GPU加速计算_English ONly的博客-CSDN博客) 2、将下载成功的cudnn后得到的cuda里面的信息放到不同的 /usr/local/cuda目录里。(其中红色为下载cuD…

Linux如何查看当前Ubuntu系统的版本

1 使用命令:lsb_release -a 查看 2 使用命令:cat /proc/version 查看 Linux version 3.16.0-30-generic (builddkissel) linux内核版本号 gcc version 4.8.2 gcc编译器版本号 Ubuntu 4.8.2-19ubuntu1 Ubuntu版本号 3 使用命令:uname -a 查…

linux查看ubuntu版本命令,检查Ubuntu版本号的三种方法:从终端和设置中检查及使用Neofetch...

如果你运行Ubuntu系统,但你不确定你使用的是哪个Ubuntu版本(Ubuntu Version),有三种方法可以快速找到答案:从终端和设置中检查Ubuntu版本及使用Neofetch。在本文中,你将学习可用于立即检查Ubuntu版本号的命令行和GUI方法&#xff…

查看ubuntu版本号命令

查看ubuntu版本号命令 1、uname -a 查看内核版本号 2、cat /etc/issue 查看ubuntu版本号 3、sudo lsb_release -a 查看ubuntu版本号 posted on 2018-10-26 16:50 skyfall007 阅读(...) 评论(...) 编辑 收藏

ubuntu查看eigen版本

ubuntu查看eigen版本 1.方法一 CtrlAltT 打开Macros.h文件 gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h如上图中的eigen版本为3.3.7 2.方法二 pkg-config --modversion eigen3

Ubuntu查看ros的版本号

Ubuntu查看ros的版本号 打开第一个终端输入roscore 打开第二个终端输入rosparam get /rosdistro

Linux 下查看Ubuntu系统版本信息

文章目录 1. cat /proc/version2. uname -a3. uname -m4. lsb_release -a5 其他 1. cat /proc/version 作用: 查看目录"/proc"下version的信息,也可以得到当前系统的内核版本号及系统名称 。 补充说明: /proc文件系统…

ubuntu版本查看命令

简单的 在命令终端输入 1.cat /etc/issue (简单) 2.cat /etc/lsb-release(具体) 3.uname -a(内核) 具体的 有时候我们安装软件或者搭建服务的时候,需要了解当前系统的版本信息,下…

ubuntu查看系统版本

一、Ubuntu 版本号 Ubuntu 基础版本号由日期组成。比如 Ubuntu 21.10 表示 2021年10月份发布的版本。Ubuntu 一年会发布两个正式版本,分别在4月份和10月份。 也因为 Ubuntu 每半年就有一次大版本升级,因此对于特别在意稳定性的用户可以选择 LTS(Long T…

Ubuntu查看系统版本信息

下面写一下查看当前Linux系统的版本的方法 我使用3A服务器远程连接的机器,带宽又高又便宜 一、使用命令:cat /proc/version 查看 linux版本号:Linux version 5.4.0-99-generic (builddlgw01-amd64-007) GCC版本号:gcc version 9.3…

Ubuntu 查看系统版本

1、命令uname -a 可以看到操作系统的发行版号和操作系统版本。 2、命令uname -v 可以查看版本号。 3、命令lsb_release -a 可以查看发行版本信息。 4、命令 cat /etc/issue 可以查看Linux版本信息及类型。 5、命令cat /proc/version 可以查看Linux内核的信息。

如何查看 Ubuntu 版本和其他系统信息

文章目录 一、在终端中查看 Ubuntu 版本:二、以图形方式检查 Ubuntu 版本三、在Ubuntu中查看桌面环境和其他系统信息1、neofetch2、screenfetch 一、在终端中查看 Ubuntu 版本: 打开终端 (CtrlAltT) 并键入以下命令: lsb_release -a也可以使用以下命令来查找您的 …