基于PHP和MySQL实现的民航订票系统实验

  • 实验内容
  • 实验步骤
  • 结果展示

实验内容

实验简述:
民航订票系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有查询航班路线和剩余票数,以及网上订票等功能。客户又可以分为两类:一类是普通客户,对于普通客户只有普通的查询和订票功能,没有相应的机票优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。

实验要求:
(1)根据需求建立ER模型
(2)ER模型转化为关系模式
(3)建立相应的数据库
(4)用一种语言编写前端(这里采用PHP语言)

实验步骤

根据需求建立ER模型:

ER模型转化为关系模式:

建立相应的数据库:

源代码:

//建航空公司表
create table Company(
Cid int primary key,
Cname varchar(20),
Caddr varchar(40),
Ctel varchar(20),
password varchar(20)
);
//建航线表
create table air_Route(
Rid int primary key,
start_place varchar(20),
end_place varchar(20),
distance float,
total_time float
);
//建飞机表
create table Plane(
Pid int primary key,
Ptype varchar(20),
seats int
);
//建机场表
create table Airport(
Aid int primary key,
Aname varchar(20),
Aaddr varchar(40),
Atel varchar(20),
password varchar(20)
);
//建客户表
create table Customer(
Cus_id int primary key,
Cus_name varchar(20),
Cus_tel varchar(20),
is_vip tinyint,
integration int,
password varchar(20)
);
//建航班表
create table Flight(
Fid int primary key,
Aid int,
Rid int,
Pid int,
start_time datetime,
last_ticket int,
price float,
delay int,
foreign key(Aid) references Airport(Aid),
foreign key(Rid) references air_Route(Rid),
foreign key(Pid) references Plane(Pid)
);
//建订单表
create table Order_ticket(
Oid int primary key, //自动增加
Cus_id int,
Fid int,
pay float,
foreign key(Cus_id) references Customer(Cus_id),
foreign key(Fid) references Flight(Fid)
);

前端设计流程图:

前端部分代码展示:

// order_manage.php
<?php
session_start();
if(isset($_GET['id'])){$Cus_id=$_GET['id'];$_SESSION['Cus_id']=$Cus_id;
}
$Cus_id=$_SESSION['Cus_id'];
require "conn.php";
$sql_1="select * from order_ticket where Cus_id=$Cus_id";
$result_1=$conn->query($sql_1);
?>
<a href="back_to_customer.php">返回</a>
<h2>订单信息:</h2>
<a href="add_order.php">订票</a>
<?php
while($row=$result_1->fetch_assoc()){?>
<?php
$Fid=$row['Fid'];
$sql_2="select * from flight where Fid=$Fid";
$result_2=$conn->query($sql_2);
while ($row_1=$result_2->fetch_assoc()) {if($row_1['delay']==1){$_SESSION['is_delay']='是';}else $_SESSION['is_delay']='否';
?>
<h4>航班信息</h4>
<!-- <p>机场编号:<?php echo $row_1['Aid'];?> | 航线编号:<?php echo $row_1['Rid'];?> | 飞机编号:<?php echo $row_1['Pid'];?></p> -->
<?php
$Aid=$row_1['Aid'];
$sql_3="select * from airport where Aid=$Aid";
$result_3=$conn->query($sql_3);
while ($row2=$result_3->fetch_assoc()) {?>
<p>机场信息 》 名称:<?php echo $row2['Aname'];?> | 地址:<?php echo $row2['Aaddr'];?> | 联系方式:<?php echo $row2['Atel'];?></p>
<?php
}
$Pid=$row_1['Pid'];
$sql_4="select * from plane where Pid=$Pid";
$result_4=$conn->query($sql_4);
while ($row3=$result_4->fetch_assoc()) {?>
<p>飞机信息  》 <?php echo $row3['Ptype'];?></p>
<?php
}
$Rid=$row_1['Rid'];
$sql_4="select * from air_route where Rid=$Rid";
$result_4=$conn->query($sql_4);
while ($row3=$result_4->fetch_assoc()) {?>
<p>航线信息 》 起点:<?php echo $row3['start_place'];?> | 终点:<?php echo $row3['end_place'];?> | 里程:<?php echo $row3['distance'];?> | 时长:<?php echo $row3['total_time'];?>h</p>
<?php
}
?>
<p>起飞时间:<?php echo $row_1['start_time'];?> | 余票:<?php echo $row_1['last_ticket'];?> | 票价:<?php echo $row_1['price'];?> | 是否延迟:<?php echo $_SESSION['is_delay'];?></p>
<p>实际票价:<?php echo $row['pay'];?></p>
<?php
if($_SESSION['is_delay']=='是'){echo "请注意:您的航班由于某种因素出现延机,请关注新的航班信息!";
}
?>
<p><a href="delete_order.php? id=<?php echo $row['Oid'];?>">退票</p>
<?php
}
}
?>

由于涉及的的php文件较多,所以只展示一个php文件。

结果展示

首页:

航空公司登录页面:

航空公司注册页面:

机场和用户的登录、注册页面类似。

航空公司首页:

航线管理:

航线修改:

航线删除后(如果该航线已经被安排为航班且有人购买票则不能删除,作为外键):

飞机管理页面:

删除飞机:

机场首页:

航班管理首页(增加的航班必须要建立在航线和飞机存在的情况下,否则失败):

延机:

延机之前,用户订单界面:

延机之后机场航班管理界面:

延机之后用户订单显示延机提示信息:

普通用户订单界面:

退票后界面:

Vip用户界面(订票后):

Vip客户订单界面(满足积分换优惠的条件后价格更便宜):

退票之后vip客户界面:


结尾:由于没有套用模板和样式,所以界面相当朴素(丑),但一些简单基本的功能都已实现,需要前端代码可以联系1557575204(QQ)。

基于php和mysql实现的简易民航订票系统实验相关推荐

  1. 基于PHP+MySQL长途客用汽车票订票系统的设计与实现

    随着时代的变迁汽车已经成为了人们日常生活中不可或缺的一部分,虽然很多人已经拥有了私家车,但是很多时候因为离家较远等原因,很多时候人们还是会通过客用汽车来进行一些出行,但是通常情况下客用车票都需要到客用 ...

  2. 基于jsp+mysql+ssm的火车飞机订票系统-计算机毕业设计

    随着旅游业的逐渐的成熟发达,火车客运量大幅度的提高,国内国际的旅游车次的增加,这些都对火车站的信息管理系统提出了更高的要求,所以要不断的完善更新火车票订票系统,提高火车票订票系统的工作效率. 火车票订 ...

  3. MySQL长途售票系统_PHP+MySQL长途客用汽车票订票系统的设计与实现

    随着时代的变迁汽车已经成为了人们日常生活中不可或缺的一部分,虽然很多人已经拥有了私家车,但是很多时候因为离家较远等原因,很多时候人们还是会通过客用汽车来进行一些出行,但是通常情况下客用车票都需要到客用 ...

  4. 基于C++的民航订票系统的设计与实现

    一.需求分析 设计一个民航管理系统,使更广大的用户群体可以借助这个平台订飞机票. C++作为一个面向对象的语言,利用多态性和封装性可以更好地表达出这些功能,相比 JAVA 等语言,C++具STL,可以 ...

  5. 简易航空订票系统_基于C++实现简易航空票务,飞机订票系统!

    现在的航空公司都有自己的订票系统相比大家都看过或用过,那么各位小伙伴想没想过自己写一个这个系统出来呢?今天,就让小编带着大家用C语言代码来写一个自己的航空公司订票系统吧. 项目展示: 代码展示: 效果 ...

  6. 简易航空订票系统_关于航空机票的小常识,看完长知识!

    追求高效的商旅人士对于坐飞机一定不会陌生,但跟飞机票相关的小知识却不一定都了解.今天小编就给大家总结了几个关于机票的小知识,觉得有用就收藏吧. 机票 机票(Flight Ticket)即飞机票,它是人 ...

  7. 简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验

    成都2015年10月23日电 /美通社/ -- 四川航空发布手机APP全新的3.0版本,不仅针对界面风格做了全新改变,在iOS9.安卓系统上的展示更加炫丽:而且在机票预订.航班动态.特价机票方面均做了 ...

  8. java编写火车订票系统_毕业设计(论文)-基于JavaWeb技术的火车订票系统.doc

    本科生毕业设计 题 目 基于JavaWeb技术的火车订票系统 姓 名 学 号 院 系 专 业 信息与计算科学 指导教师 20 年 月 教务处制 本科生毕业设计声明 本人郑重声明:所呈交的毕业设计,是本 ...

  9. 基于web的电影订票系统/电影购票网站

    摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,电影 ...

最新文章

  1. 从qspi启动linux时间,Zynq-Linux移植学习笔记(二十三)——QSPI速度配置
  2. 【干货】运维人员常用的Linux命令汇总
  3. vue中使用keepAlive组件缓存遇到的坑
  4. 黄老师离开呆了十年的上海
  5. emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. JAVA入门级教学之(方法重写/方法重载)
  7. android 拨打电话与发送短信
  8. Socket API: I/O函数recvmsg()与sendmsg()
  9. [转载]MySQL锁机制
  10. 病毒 Worm.Logo.g
  11. serializable接口_面试官:RandomAccess这个空接口有何用?
  12. IntelliJ IDEA使用教程(动图详解):Mac 系统下安装 IntelliJ IDEA
  13. 视频广告播放器(缓存、循环播放)
  14. 艾灸神阙穴的神奇疗效
  15. 反超苹果,微软重回全球市值第一!
  16. kodu_Kodu教您的孩子直观地编程自己的视频游戏
  17. 输出字符串中匹配最多的括号数
  18. jquery-9 京东和酒仙网左侧导航如何实现
  19. 幼儿园案例经验迁移_多种形式培养幼儿的迁移讲述能力
  20. 顺序搜索小技巧-监视哨的作用

热门文章

  1. 将java项目部署到腾讯云服务器
  2. 计算机专业选修课怎么选比较好,你知道怎么选AP课程吗?附AP不同专业方向的选课建议...
  3. 经验分享:《节奏大师》UI优化历程
  4. 131个经典面试题目+答案
  5. html 字体模糊,css – Chrome字体显示模糊
  6. gitHub常用命令笔记
  7. 枚举型、注释(待补充)
  8. JVM调优实战:to-space exhausted Evacuation Failure
  9. java long型数据做余数运算_Java数据类型与运算符
  10. 微信小程序怎么设置全局背景颜色?