电影购票系统接口篇【全栈开发】

发布于:2022-07-26 ⋅ 阅读:(778) ⋅ 点赞:(0)

目录

前言

1.开发技术

1.1PHP概述

1.2MySQL概述

1.3Apache概述

1.4HBuilder编辑器

1.5Navicat for MySQL数据库管理工具

2.项目需求

2.1管理端功能需求

2.2移动端功能需求

3.数据库设计

3.1数据库结构设计

4.系统的实现

4.1数据库与后台的连接实现

4.2前后端数据交互的实现方式

4.3管理端后台接口的实现

4.4登录接口的实现


前言

这篇是单词的接口篇,web端、小程序端 、管理端每一个一个文章。

 下面的接口不支持跨域访问,如果想跨域访问可以自己在定义一个php文件,分别引用就好了

<?php
    // header("Content-type:application/json;charset=utf-8");
    header('Access-Control-Allow-Origin:*');
    header('Access-Control-Allow-Methods:GET,POST,OPTIONS');//跨域访问

?>

接口都是用php,没有用php的框架,接口也比较简单,对数据库的增删改查。

web端、管理端 、小程序端、截图效果如下:

web端:(模仿猫眼电影做的)

 管理端:

移动端(微信小程序):图片都是url地址,有些可能链接变了,所以没显示出来

 其中的一个测试接口效果图:(这个是get请求,不需要发包,专业测试接口建议使用postman)

1.开发技术

1.1PHP概述

        php是(超文本预处理器)的缩写,是一种服务器端、跨平台、HTML嵌入式的脚本语言,其独特的语法混合了C语言、Java语言和Perl语言的特点,是一种被广泛应有的开源式的多用途脚本语言,尤其适合Web开发。

1.2MySQL概述

        MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,网站使用其作为数据库管理系统。

1.3Apache概述

        Apache是使用最广泛的Web服务器软件。它是一个免费提供的开源软件。Apache快速,可靠,安全。它可以通过使用扩展和模块进行高度定制,以满足许多不同环境的需求。大多数WordPress托管服务提供商使用Apache作为其Web服务器软件。

1.4HBuilder编辑器

        HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。   HBuilder的编写用到了html、css、JavaScript和php。

1.5Navicat for MySQL数据库管理工具

        Navicat for MySQL是一款强大的MySQL数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具。使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。啊

2.项目需求

2.1管理端功能需求

        艾米电影管理系统主要包括首页、电影管理、电影上架、订单信息、设置五个板块。首页板块主要是给为管理者展示电影数、用户数、订单数、影院数、今日收益的信息、添加删除影院;电影管理页面可以展示所有上架的电影信息,可以对电影进行修改信息操作;电影上架页面可以上架电影信息,填写相应的电影信息。订单信息页面展示所有用户的订单信息,管理者可以删除订单信息等等。

        综上所述,为管理端提供的12个接口,包括:管理者登录接口、添加电影接口、修改电影信息接口、删除电影信息、显示电影信息接口等

2.2移动端功能需求

        艾米电影购票微信小程序主要包括首页、影院、订单、个人中心四个板块。首页板块主要是给用户提供上映电影的信息,客户可以在里面进行了解与购买;影院板块是给游客提供搜选择不同的电影院,用户选择影院后可以了解该影院有什么电影,以及购买电影票;订单板块显示了用户的购票记录;个人中心板块可以登录、注册账号等。

        综上所述,为移动端提供的7个接口,包括:用户登录、注册接口、显示电影信息接口、热播电影接口、用户订单接口、购买电影票接口、影院显示接口。

3.数据库设计

数据库的实现是使用Navicat for SQL Server 是一个全面的图形化方式管理数据库,它提供良好的图形界面,快速的创建数据库和数据表

3.1数据库结构设计

admin

此表来存储管理者的账户信息,表结构如表1所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

username

varchar

255

password

varchar

255

表1  admin表

yhxx

此表来存储用户的账户信息,表结构如表2所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

username

varchar

255

password

varchar

255

phonenum

varchar

11

表2 User表

cinema

此表来存储影院的名称和地址信息,表结构如表3所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

moviename

varchar

255

movpro

varchar

255

movcit

varchar

255

movarea

varchar

255

表3 cinema表

dy2表

此表来存储电影信息,包括电影名称、时长、类型、评分等信息,表结构如表4所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

name

varchar

255

lx

varchar

255

pf

varchar

255

time

date

0

imgname

char

255

intro

varchar

255

director

varchar

255

area

varchar

255

tostar

varchar

255

longtime

varchar

255

表4 dy2表

booking表

此表来存储所有用户订单信息,包括购票时间、座位、电影院等信息,表结构如表5所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

username

varchar

255

movname

varchar

255

buytime

date

0

seat

varchar

255

money

float

0

ticketsum

int

2

cinema

varchar

255

表5 booking表

neartime表

此表来记录当天播放的电影信息,表结构如表6所示:

字段

类型

长度

是否为空

是否为主键

id

int

11

movname

varchar

255

movplaytime

datetime

0

表6 neartime表

SQL语句

admin表的SQL语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for admin

-- ----------------------------

DROP TABLE IF EXISTS `admin`;

CREATE TABLE `admin` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) NOT NULL,

  `password` varchar(255) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of admin

-- ----------------------------

INSERT INTO `admin` VALUES ('1', 'admin', '123456');

yhxx表的SQL语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for yhxx

-- ----------------------------

DROP TABLE IF EXISTS `yhxx`;

CREATE TABLE `yhxx` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(11) NOT NULL,

  `password` varchar(11) NOT NULL DEFAULT '',

  `phonenum` varchar(11) NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of yhxx

-- ----------------------------

INSERT INTO `yhxx` VALUES ('1', 'admin', '123456', '88888888');

cinema表的SQL语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for cinema

-- ----------------------------

DROP TABLE IF EXISTS `cinema`;

CREATE TABLE `cinema` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `moviename` varchar(255) DEFAULT NULL,

  `movpro` varchar(255) DEFAULT NULL,

  `movcit` varchar(255) DEFAULT NULL,

  `movarea` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of cinema

-- ----------------------------

INSERT INTO `cinema` VALUES ('1', '横店电影城', '浙江省', '杭州市', '钱塘区');

INSERT INTO `cinema` VALUES ('2', '歌纳国际影城', '浙江省', '杭州市', '萧山区');

INSERT INTO `cinema` VALUES ('3', '银河欢乐影城', '浙江省', '杭州市', '拱墅区');

INSERT INTO `cinema` VALUES ('4', 'first·私影', '浙江省', '绍兴市', '越城区');

INSERT INTO `cinema` VALUES ('5', '金象国际影城', '浙江省', '绍兴市', '柯桥区');

INSERT INTO `cinema` VALUES ('6', '凤凰电影城', '江苏省', '南京市', '玄武区');

INSERT INTO `cinema` VALUES ('7', '塞纳欢乐影城', '福建省', '福州市', '台江区');

INSERT INTO `cinema` VALUES ('8', '德赛电影院', '福建省', '莆田市', '城厢区');

booking表的SQL语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for booking

-- ----------------------------

DROP TABLE IF EXISTS `booking`;

CREATE TABLE `booking` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) DEFAULT NULL,

  `movname` varchar(255) DEFAULT NULL,

  `buytime` date DEFAULT NULL,

  `seat` varchar(255) DEFAULT NULL,

  `money` float DEFAULT NULL,

  `ticketsum` int(11) DEFAULT NULL,

  `cinema` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of booking

-- ----------------------------

INSERT INTO `booking` VALUES ('1', 'admin', '海上钢琴师', '2022-06-04', '4排3座 4排5座 4排6座', '90', '3', '横店电影城');

INSERT INTO `booking` VALUES ('2', 'adfad', '悲伤逆流成河', '2022-02-24', '7排45座', '40', '1', '横店电影城');

INSERT INTO `booking` VALUES ('3', 'vidshfa', '叶问3', '2022-05-18', '5排3座', '50', '2', '横店电影城');

INSERT INTO `booking` VALUES ('5', 'admin', '黎乡遇见你', '2022-06-07', '6排7座 6排8座 7排7座 7排8座 ', '120', '4', '横店电影城');

INSERT INTO `booking` VALUES ('6', 'admin', '黎乡遇见你', '2022-06-07', '6排7座 6排8座 7排7座 7排8座 ', '120', '4', '横店电影城');

INSERT INTO `booking` VALUES ('7', 'admin', '黎乡遇见你', '2022-06-07', '7排9座 7排10座 8排9座 8排10座 ', '120', '4', '横店电影城');

INSERT INTO `booking` VALUES ('8', 'admin', '黎乡遇见你', '2022-06-07', '7排9座 7排8座 8排8座 8排9座 ', '160', '4', '德赛电影院');

INSERT INTO `booking` VALUES ('9', 'admin', '黎乡遇见你', '2022-06-07', '7排10座 7排9座 ', '80', '2', '银河欢乐影城');

INSERT INTO `booking` VALUES ('10', 'admin', '黎乡遇见你', '2022-06-07', '6排9座 6排8座 7排8座 7排9座 ', '120', '4', '歌纳国际影城');

INSERT INTO `booking` VALUES ('11', 'tom', '爱情神话', '2022-06-07', '5排6座 5排7座 5排8座 ', '120', '3', '银河欢乐影城');

INSERT INTO `booking` VALUES ('12', 'tom', '中国机长', '2022-06-25', '5排5座 6排5座 7排5座 ', '60', '3', '横店电影城');

neartime表的SQL语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for neartime

-- ----------------------------

DROP TABLE IF EXISTS `neartime`;

CREATE TABLE `neartime` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `movname` varchar(255) DEFAULT NULL,

  `movplaytime` datetime DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of neartime

-- ----------------------------

INSERT INTO `neartime` VALUES ('1', '你的婚礼', '2022-06-05 11:00:27');

INSERT INTO `neartime` VALUES ('2', '肖申克的救赎', '2022-06-05 13:00:56');

INSERT INTO `neartime` VALUES ('3', '那些年,我们追过的女孩', '2022-05-05 11:01:39');

INSERT INTO `neartime` VALUES ('4', '少年的你', '2022-06-05 17:01:57');

INSERT INTO `neartime` VALUES ('5', '悲伤逆流成河', '2022-06-05 19:02:26');

INSERT INTO `neartime` VALUES ('6', '送你一朵小红花', '2022-07-05 11:02:53');

4.系统的实现

4.1数据库与后台的连接实现

Apache作为Web服务器软件,MySQL作为数据库PHP作为服务器端脚本解释器。Apache可以运行在所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,MySQL对PHP有很好的支持,PHP是比较流行的Web开发语言,操作实现如下:

使用XAMPP建站集成软件包,启动方法,先找到项目的根目录下的xampp.exe可执行文件,启动Apache和MySQL服务如图4.1-1所示

 

图4.1-1 xampp启动界面

使用Navicat for MySQL,搭建数据库环境

新建连接设置端口,新建数据库,选择字符集 UTF-8,创建数据表,为数据表数据。如图4.1-2所示:

 

图4.1-2 创建连接、数据库、数据表

使用php连接MySQL数据库执行SQL语句。

创建conn.php文件,存放连接数据库的相关配置信息,如图4.1-3所示:

图4.1-3 conn.php文件

连接数据库,并执行SQL语句,代码如图4.1-4所示:

图4.1-4 连接数据等代码

4.2前后端数据交互的实现方式

电影管理系统使用bootstrap框架搭建前端页面,使用原生js+Ajax+PHP的方式实现前端与后端的数据交互,前端使用post或get的方式发送请求,PHP使用$_GET、$_POST等方式接受数据,将处理后的数据以json字符串的方式返回。前端Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。创建XMLHttpRequest实例,使用open()方法,包含请求(post、get)、url地址和是否异步执行操作,使用send()方法发送,最后使用在onreadystatechange回调函数访问成功后获取数据,通过JSON.parse()方式解析数据,最后在前端页面渲染后上显示,代码如下所示。

odl.onclick = function() {

var postData = {"username":yhm.value,"password": mm.value};

var xhr = new XMLHttpRequest();

xhr.open("POST", "php/login.php", true);

xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

xhr.onreadystatechange = function() {

var XMLHttpReq = xhr;

if (XMLHttpReq.readyState == 4 && XMLHttpReq.status == 200) {

var oDt = JSON.parse(xhr.response);

if(oDt.code==1){

localStorage.adminuser=yhm.value;

window.location.href="index.html";

}else{alert("登录失败");

}

}

};

xhr.send(postDate1(postData));

}

function postDate1(obj) {

var str = "";

for (var prop in obj) {

str += prop + "=" + obj[prop] + "&"

}

return str;

}

php接受数据的方式根据前端请求方式,使用$_GET、$_POST等方法接收数据,然后将数据进行处理后以json字符串的方式返回。代码如下所示:

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

$nameuser = $_POST["username"];

$pwd= $_POST["password"];//获取数据

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="select * from admin where username ='{$nameuser}' and password='{$pwd}'";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

4.3管理端后台接口的实现

Web管理端通过使用Ajax请求服务器端的接口,使用post和get两种方式请求,PHP使用通过$_GET[]和$_POST[]接受数据,并返回json字符串。

生成Json字符串包含在je.php文件,代码如下所示:

<?php

function my_json_encode($array)

    {

        if(version_compare(PHP_VERSION,'5.4.0','<')){

            $str = json_encode($array);

            $str preg_replace_callback("#\\\u([0-9a-f]{4})#i"

,function($matchs){

            Returniconv('UCS-2BE','UTF-8',pack('H4', $matchs[1]));

            },$str);

            return $str;

        }else{

            return json_encode($array, JSON_UNESCAPED_UNICODE);

        }

    }

?>

4.4登录接口的实现

管理者登录接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

$nameuser = $_POST["username"];

$pwd= $_POST["password"];//获取数据

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="select * from admin where username ='{$nameuser}' and password='{$pwd}'";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

添加电影接口的实现

添加电影接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

$nameuser = $_POST["username"];

$pwd= $_POST["password"];//获取数据

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="select * from admin where username ='{$nameuser}' and password='{$pwd}'";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

修改电影信息接口的实现

修改电影接口,PHP代码如下所示

<?php

header('content-type:text/html;charset="utf-8"');

error_reporting(0);

require_once 'conn.php';

require_once 'je.php';

$conn=new mysqli($hn,$un,$pw,$db,$port);

if($conn->connect_error) die($conn->connect-error);

$id=$_POST['id'];

$oname=$_POST['name'];

$olx=$_POST['lx'];

$opf=$_POST['pf'];

$otime=$_POST['time'];

$oimgurl=$_POST['imgname'];

$otxt=$_POST['intro'];

if($oname && $olx&& $opf&& $otime&& $oimgurl&& $otxt&& $id){

$query="UPDATE dy2 SET name= '{$oname}',lx='{$olx}',pf='{$opf}',time='{$otime}',imgname='{$oimgurl}',intro='{$otxt}' WHERE id='{$id}'";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"添加失败");

}

else{

$json_arr = array("code"=>1,"info"=>"添加成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

}

    $result->close();

$conn->close();

?>

删除电影接口的实现

删除电影接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$id = $_REQUEST["id"];

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="DELETE FROM dy2 WHERE id = '{$id}'";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"删除失败");

}

else{

$json_arr = array("code"=>1,"info"=>"删除成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

显示所有电影接口的实现

显示电影接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM dy2";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

查询影院接口的实现

查询影院接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$omovname = $_REQUEST["movname"];

$opro = $_REQUEST["pro"];

$ocit = $_REQUEST["cit"];

$oarea = $_REQUEST["area"];//获取数据

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="insert into cinema(`moviename`,`movpro`,`movcit`,`movarea`) value('{$omovname}','{$opro}','{$ocit}','{$oarea}')";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"添加失败");

}

else{

$json_arr = array("code"=>1,"info"=>"添加成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

添加影院接口的实现

添加影院接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$omovname = $_REQUEST["movname"];

$opro = $_REQUEST["pro"];

$ocit = $_REQUEST["cit"];

$oarea = $_REQUEST["area"];//获取数据

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="insert into cinema(`moviename`,`movpro`,`movcit`,`movarea`) value('{$omovname}','{$opro}','{$ocit}','{$oarea}')";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"添加失败");

}

else{

$json_arr = array("code"=>1,"info"=>"添加成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

查询订单接口的实现

查询所有订单接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM booking";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

查询不同地区影院接口的实现

查询不同地区影院接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM cinema GROUP BY movpro";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$area=$_REQUEST['area'];

$query="SELECT * FROM cinema WHERE movpro='{$area}' GROUP BY movcit";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$area=$_REQUEST['pro'];

$area1=$_REQUEST['cit'];

$query="SELECT * FROM cinema WHERE movpro='{$area}' AND movcit='{$area1}'";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$area=$_REQUEST['area'];

if($area!="全部"){

$query="SELECT * FROM cinema WHERE movpro='{$area}'";

}else{

$query="SELECT * FROM cinema";

}

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

放映电影时间接口的实现

放映电影时间接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM neartime ORDER BY movplaytime DESC LIMIT 5";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

删除影院接口的实现

删除影院接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$id = $_REQUEST["id"];

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="DELETE FROM cinema WHERE id = '{$id}'";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"删除失败");

}

else{

$json_arr = array("code"=>1,"info"=>"删除成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

删除订单接口的实现

删除订单接口,PHP代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$id = $_REQUEST["id"];

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="DELETE FROM booking WHERE id = '{$id}'";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"删除失败");

}

else{

$json_arr = array("code"=>1,"info"=>"删除成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

微信小程序后台接口的实现

微信小程序通过调用wx.request请求服务器端的接口,微信小程序发送json包,PHP使用$json=file_get_contents("php://input");,$data = json_decode($json,true); 通过$data[]接受数据,并返回json字符串。

生成Json字符串包含在je.php文件,代码如下:

<?php

function my_json_encode($array)

    {

        if(version_compare(PHP_VERSION,'5.4.0','<')){

            $str = json_encode($array);

            $str preg_replace_callback("#\\\u([0-9a-f]{4})#i"

,function($matchs){

            Returniconv('UCS-2BE','UTF-8',pack('H4', $matchs[1]));

            },$str);

            return $str;

        }else{

            return json_encode($array, JSON_UNESCAPED_UNICODE);

        }

    }

?>

用户登录接口的实现

用户登录接口,login.php代码如下所示

<?php

header('Content-Type:application/json; charset=utf-8');

require_once "conn.php";//导入文件

require_once "je.php";

$json=file_get_contents("php://input");

$data = json_decode($json,true);

$username=$data["username"];

$password=$data["passwrod"];

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT*FROM yhxx WHERE username ='{$username}' AND password='${password}'";

$conn->query('set names utf8');\

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"登录失败");

}

else{

$json_arr = array("code"=>1,"info"=>"登录成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

用户注册接口的实现

用户注册接口,reg.php代码如下所示

<?php

header('Content-Type:application/json; charset=utf-8');

require_once "conn.php";//导入文件

require_once "je.php";

$json=file_get_contents("php://input");

$data = json_decode($json,true);

$username=$data["username"];

$password=$data["passwrod"];

$phone = $data["phone"];

// echo $username;

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="insert into yhxx(`username`,`password`,`phonenum`) value('{$username}','{$password}','{$phone}')";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"注册失败");

}

else{

$json_arr = array("code"=>1,"info"=>"注册成功");

}

$json_obj = my_json_encode($json_arr);

echo $json_obj;

?>

电影显示接口的实现

查询所有电影接口,allmov .php代码如下所示

<?php

header('content-type:text/html;charset="utf-8"');

require_once "conn.php";

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="select * from dy2";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

allmov.php文件代码

热播电影接口的实现

热播电影接口,indexgetdata.php代码如下所示

<?php

header('content-type:text/html;charset="utf-8"');

require_once "conn.php";

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="select  * from dy2 ORDER BY pf DESC LIMIT 8;";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

用户个人订单接口的实现

用户个人订单接口,order.php代码如下所示

<?php

header('content-type:text/html;charset="utf-8"');

require_once "conn.php";

require_once "je.php";

$json=file_get_contents("php://input");

$data = json_decode($json,true);

$username=$data["username"];

$conn=new mysqli($hn,$un,$pw,$db,$port);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM booking WHERE username='{$username}'";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

影院显示接口的实现

影院显示接口,movshow.php代码如下所示

<?php

header("Content-type:text/html;charset=utf-8");

require_once "conn.php";//导入文件

require_once "je.php";

$conn=new mysqli($hn,$un,$pw,$db,$port);//连接数据库

// var_dump($_POST);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);

}

$query="SELECT * FROM cinema";

$conn->query('set names utf8');

$result=$conn->query($query);

if(!$result) die($conn->error);

$results=array();

$results["data"]=array();

if($conn->affected_rows<1){

$results["code"]=0;

$results["mes"]="没有数据";

}

else{

$results["code"]=1;

while($row=$result->fetch_array(MYSQLI_ASSOC)){

$results["data"][]=$row;

}

}

$s=my_json_encode($results);

echo $s;

$result->close();

$conn->close();

?>

电影票购买接口的实现

电影票购买接口,buymov.php代码如下所示

<?php

header('content-type:text/html;charset="utf-8"');

require_once "conn.php";

require_once "je.php";

$json=file_get_contents("php://input");

$data = json_decode($json,true);

$ouser=$data["user"];

$omovname=$data["movname"];

$omovtime=$data["movtime"];

$oseat=$data["seat"];

$omoney=$data["money"];

$oticketsum=$data["ticketsum"];

$ocinema=$data["cinema"];

$conn=new mysqli($hn,$un,$pw,$db,$port);

$conn->set_charset("set names utf8");

if($conn->connect_error){

die("链接失败".$conn->connect_error);}

$query="insertinto booking(`username`,`movname`,`buytime`,`seat`,`money`,`ticketsum`,`cinema`) value('{$ouser}','{$omovname}','{$omovtime}','{$oseat}','{$omoney}','{$oticketsum}','{$ocinema}')";

$conn->query('set names utf8');

// echo $query;

$result=$conn->query($query);

if(!$result) die($conn->error);

if($conn->affected_rows<1){

$json_arr = array("code"=>0,"info"=>"添加失败");

}

else{

$json_arr = array("code"=>1,"info"=>"添加成功");

$json_obj = my_json_encode($json_arr);

echo $json_obj;

}

?>

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到