———-第一次修改(2018.8.4 15:35)

emmmm,现在已经能够从html页面和php页面进行数据传输,
现在要解决的是前端的页面根据数据库信息进行变化

我先用赋值的方式(大佬教我的方法)让函数获得每一个座位的属性,结果发现不能链接php文件(或许可以,但是我不知道,哭)
因为代码被删除,就不贴过来了

后来我用了click的this方法,获取了点击的对象。
代码如下:

$(function()//建立一个函数{$(".img").click(function(){//创造一个对于class为img的对象的一个点击函数
var seat_num = $ (this).attr("name");//获取当前点击对象的name

这样,就可以获得点击的对象的name值,然后我把name值通过ajax异步传输传给了php文件,由php写给数据库,表明所占的位置的位置号,
再通过php返回是否写入数据库来进行下一步的操作

当成功写入数据时,php返回一个flag值,来让js执行下一步的操作

代码如下:

<?php
header("content-type:text/html;charset=utf-8"); $seat=$_GET['seat_num'];
//$flag=$_GET['flag'];//var_dump($_GET);//修改前连接数据库
$link = mysql_connect('localhost' , 'root','1528303964');
if(!$link){exit('数据库连接失败');
}
mysql_set_charset('utf8');//设置字符就
mysql_select_db('ceshi');//确认座位//
$sql = "update ceshi.ceshi1 set seat='$seat' where Id=1";$obj = mysql_query($sql);
if ($obj)//判断是否执行sql语句
{echo 1;$sql = "update ceshi.ceshi1 set flag1=1 where Id=1";//座位标号1$obj = mysql_query($sql);}else
{echo 0;$sql = "update ceshi.ceshi1 set flag1=0 where Id=1";//座位标号0$obj = mysql_query($sql);
}
mysql_close($link);
?>

这段php的意思是先获得传入的数据即座位号,再学到数据库的seat下,
如果写入成功。则返回flag=1,并把flag值写到数据库,如果座位号写入失败,则返回0,同样也把此flag值写到数据库中。

然后,js就根据返回的flag是1还是0来进行操作,

代码如下:

xmlhttp.onreadystatechange=function(){//onreadystatechange此函数意思为当服务器响应//已经做好被处理的准备是做出的响应if (xmlhttp.readyState==4 && xmlhttp.status==200){//readystate的值为4或status为200时代表服务器可以与之通信var flag1 = xmlhttp.responseText;alert(flag1);if(flag1){element=document.getElementsByName(seat_num);if(element[0].src.match("no")){alert('此座位未占');if(confirm('此座位未占,是否需要占座?')){element[0].src="yes.png";var flag_2=1;

第一步,先获取从php文件传回来的flag值,用if进行判断,若为1,
则执行占座代码,若为0。则提示占座失败。这样就完成了占座的过程,
然后后面要进行的是取消占座的过程,之前我一直在上面这段函里面执行代码,设置另一个flag_2;和座位号一起传到php文件中,确始终报错,找了一上午的bug一直没找出来,后来终于发现了当传输数据的语句发生作用是,flag_2根本就没有定义,因为我的flag_2是在获得座位号后的函数里面定义的,所以就根本无法传输、
所以我又内嵌了一个函数,代码如下:

function cheak(flagg){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时代表服务器可以与之通信var flag_2;if(flagg==1){flagg=xmlhttp.responseText;if(flagg==0){element[0].src="no.png";alert("取消成功");}else{alert("flag_2不等于0;取消占座失败")}}else{alert("传输数据错误。取消占座失败")}}}xmlhttp.open("GET","一楼1.php?flag="+flagg,true);xmlhttp.send();//请求方式为post才有用}

这段代码由以下代码调用

else if(element[0].src.match('yes')){if(confirm('此座位已被占,是否取消占座?(点击确定取消占座)')){cheak(flag1);

这段代码的意思是
当被点击的座位是被占着的,弹出一个窗口,点击确定返回1,点击取消返回0;
当确定取消占座后,执行下一个函数即上上个代码块
那个代码块的意思是,从调用函数的代码那获得当前flag值,
如果flag=1,则把这个flag值传入php文,如果不为1,则弹出取消占座失败的窗口、

此php文件代码如下

<?php
header("content-type:text/html;charset=utf-8"); $flag1=$_GET['flag'];//var_dump($_GET);//修改前连接数据库
$link = mysql_connect('localhost' , 'root','1528303964');
if(!$link){exit('数据库连接失败');
}
mysql_set_charset('utf8');//设置字符就
mysql_select_db('ceshi');//确认座位//
$sql = "update ceshi.ceshi1 set flag1=0 where Id=1";$obj = mysql_query($sql);if ($obj)//判断是否执行sql语句
{echo 0;}else
{echo 1;}
mysql_close($link);
?>

这段代码的意思是先获取flag值,由于js中已经判定,所以此flag值一定等于1,所以通过sql语句把flag值更改为0;
当确定更改成功后。php文件返回flag=0的值
当php返回值后,js中的flagg就等于0;判断是否等于0来执行UI上的取消占座操作,否则弹出在取消占座失败

(注。。。。。此函数代码和php代码在编写过程中一次性通过,没有bug!!宛如天人!)

这就实现了占座和取消占座与数据库相关联的操作

图书馆占座系统(四)相关推荐

  1. JAVA计算机毕业设计图书馆预约占座系统(附源码、数据库)

    JAVA计算机毕业设计图书馆预约占座系统(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

  2. 基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统...

    基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善 ...

  3. 基于PHP+MySQL的图书馆自习室预约占座系统

    随着我国高等教育的普及和高校生源的扩招,很多学校都出现了一个很严重的问题,那就是自习室和图书馆座位不够用,出现了一座难求的情况.为了能够让高校的这些自习室和图书馆的座位得到合理的利用,我通过现代化的手 ...

  4. [含论文+开题报告+源码等]SSM图书馆预约占座系统[包运行成功]

     源码获取:我的博客资源页面可以下载!!!! 项目名称 [含论文+开题报告+源码等]SSM图书馆预约占座系统[包运行成功] 视频介绍 (精品)[含论文+开题报告+源码等]SSM图书馆预约占座系统[包运 ...

  5. 模拟预约图书馆占座爬虫

    模拟预约图书馆占座 语言:python2.7 第三方包:request,io, pytesseract, PIL, json from io import BytesIO import pytesse ...

  6. 基于SSM的图书馆预约占座系统

    如果大家觉得文章对你有所帮助,希望大家点个赞,关注一下,后续我们会更新更多优质内容,大家的支持就是我继续更新的动力. 该系统由jsp+ssm+mysql实现,前端采用的是当下最流行的easyui框架, ...

  7. Java毕业设计——基于SSM的图书馆座位预约管理系统占座系统 / java图书馆座位预约管理系统占座系统

    jsp+ssm+mysql实现图书馆预约占座管理系统项目 一款由jsp+ssm+mysql实现的图书馆预约占座管理系统,前端采用的是当下最流行的easyui框架,后台用的ssm(spring.spri ...

  8. python+django+vue图书馆选座系统pycharm源码lw

    通过与图书馆相关人员的讨论,了解到我校图书馆的座位管理存在以下问题: (1)实行先到先坐的制度,所有的图书馆座位使用人员(以下简称用户)在图书馆开馆的情况下,到图书馆寻找座位,先到达图书馆指定座位的人 ...

  9. Springboot实现图书馆座位预约管理系统之自习室预约占座系统源码

    本系统主要实现了学生自由预约选择图书馆的座位的基本功能,除基础脚手架外,实现的功能有: 管理员:学生管理.教师管理.阅览室类型管理.阅览室管理(座位生成等).学生信用积分管理.座位预约统计管理等. 学 ...

  10. 基于Springboot的图书馆预约,占座系统,基于IDEA开发。

    开发环境,语言,工具 本系统的采用的开发语言是JAVA,主要使用到的框架是SpringBoot框架以及Mybatis框架,数据库使用的是Mysql5.7.开发工具使用的是IDEA. 项目更新点 该项目 ...

最新文章

  1. centos6 安装 redis
  2. 汽车穿越沙漠的算法问题(反推法)
  3. TensorFlow Input
  4. 凝结芽孢杆菌行业调研报告 - 市场现状分析与发展前景预测
  5. java itextsharp_ITextSharp 初次接触
  6. 《超越宝典汽配汽修管理系统——“美容管理”模块》项目研发阶段性总结
  7. 怎么逼自己 成为一个上进的人
  8. 【数据结构】图(最短路径Dijkstra算法)的JAVA代码实现
  9. 诡异的The inferior stopped because it triggered an exception错误
  10. ASO免费优化技巧:小米应用首发,小米aso优化怎么做
  11. Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
  12. android4.4 电池管理
  13. 初识IndexedDB本地存储
  14. mysql 服务_mysql的服务
  15. 最新交易猫 转转 闲鱼 源码独立后台
  16. [玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)
  17. PPG衬衫改变了什么
  18. python serial库文件下载_Pyserial python 串口驱动库pyserial - 下载 - 搜珍网
  19. python变量的存储机制,关于python:python的变量缓存机制
  20. 三、浅谈机器人的底盘设计

热门文章

  1. 在UOS(deepin)系统下安装CPUS-PDF虚拟PDF打印机的方法
  2. java压缩图片工具类Thumbnailator
  3. 计算机组成原理 王道考研2021 第一章:计算机组成原理概述 -- 计算机硬件的基本组成、认识各个硬件部分
  4. shapefile(.shp)空间数据格式详细说明
  5. 高等数学第七版下册 同济大学数学系 编 课后答案 习题解析
  6. ppp协议 服务器,详解PPP及PPPoE协议
  7. 网页设计中常用的HTML代码
  8. 【工具分享】批量查询公网IP地址
  9. windows快速全局检索文件工具-Listary
  10. python猜数字游戏