基于PHP的公交查询系统研究与实现

2014-09-10 07:22柴艳宾
电脑知识与技术 2014年6期
关键词:系统设计

柴艳宾

摘要:公交查询系统是专门服务于市民出行的信息系统,它是城市社会和经济活动的重要组成部分。以浙江省兰溪市为例研究并实现了面向广大用户的公交查询系统,主要运用PHP技术,在Apache +MySQL +PHP环境下设计开发。系统能够实现线路查询、站点查询、换乘查询和数据管理等功能,具有很好的可行性和扩展性, 为相关信息系统的研发提供了有益的参考。

关键词:公交查询系统;PHP;MySQL;换乘查询;系统设计

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2014)06-1165-02

Research and Implementation of Public Transport Query System Based on PHP

CHAI Yan-bin

(Zhejiang Yuying Vocational and Technical College, Hangzhou 310018, China)

Abstract:Public transport query system is the information system is dedicated to serving the public travel, it is an important part of city social and economic activities. In Zhejiang Province, Lanxi city as a case study and implementation of transit oriented users query system, mainly the use of PHP technology, design and development of Apache +MySQL in +PHP environment. The system can realize the line inquiry, site query, transfer query and data management and other functions, is feasible and good expansibility, provides the beneficial reference for the related research and development information system.

Key words:public transport query system;PHP;MySQL;transfer query;systems design

位于浙中西部的兰溪市,具有浙江省历史文化名城、浙江省卫生城市和浙江省文明城市的称号,目前人口在60万左右。近两年随着城市规模的不断扩大,公交线路逐渐增多,大量人口出行使得城市交通环境变得越来越复杂。兰溪一直在努力把自己打造成为旅游文化名城,大力发展公共交通的同时,却没有一个便于市民和游客出行的公交查询系统,乘客要想获得公交信息只能通过电话、交通图、向熟人问讯等常规方式。较少的公交信息量,简单的查询方式已经成为制约当地公共交通发展的一大问题。

PHP是一种在Web服务器上解释执行的嵌入HTML文档的脚本语言,其源代码开放,执行速度快,占用系统资源少, 具有良好的可移植性和扩展性,被广泛应用于系统网站的编程开发。因此,开发一个基于PHP的网上城市公交查询系统,为广大乘客提供实时、准确、直观的公交信息,可以充分发挥数字城市的作用,为兰溪市的交通信息建设和社会发展做出贡献。

1 系统设计

1.1 系统功能结构

系统的各主要功能模块如图1所示。系统管理模块主要实现系统数据库表的管理和维护,主要包括:管理员信息管理;公交站点、线路信息管理;系统公告和新闻管理。用户查询模块是查询符合用户条件的公交线路和换乘信息,主要提供的功能有:线路查询;站点查询和换乘查询。换乘查询指的是已知出发点和目的地,查询出基于换乘车次数最少的可行乘车或转车方案。系统公告和新闻模块是对系统的补充,能更好地传递重要的公交通知和体现城市文化和精神风貌。

图1 系统模块图

1.2 数据库设计

MySQL是一个真正的多用户、多线程SQL数据库服务器,使用当前最常用最流行的数据库管理语言——结构化查询语言(SQL)进行数据库管理。系统采用“实体联系模型”(ER模型)来表示数据库的结构与语义,系统主要的实体和属性定义如下:

管理员表:包括管理员ID,管理员名,管理员密码;线路表:包括线路ID,线路名称,线路分类,所属公司,起点站,终点站,票价,IC卡,班车时间;站点表:包括站点ID,站点名称,站点位置,名称拼音,字母分类(用站点名称拼音第一个字母来归类站点);站点次序表:包括站点次序ID,上下行标志,线路ID,站点ID,站点性质。

2 系统的主要实现

2.1 数据库连接

在动态网站中,调用数据库是十分频繁的,为了避免编写重复的代码,编写一个数据库连接文件是非常重要的。在本系统中,新建了一个config.php文件用来设置MySQL数据库的连接,下面是部分config.php文件配置数据库的代码:

<?php

include(ROOT.'include/mysql.php'); //载入数据库连接文件

$dbhost = 'localhost'; // 数据库服务器

$dbuser = 'root'; // 数据库用户名

$dbpw = ''; // 数据库密码

$dbname = 'bus'; // 数据库名

$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开

$dbcharset = '';// MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定

$charset = 'gbk';//页面默认字符集, 可选 'gbk', 'big5', 'utf-8'

$db = new Mysql();

$db→connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);?>

2.2 系统界面

界面是系统和用户实现交互的部分,它表现了系统的整体感觉。界面实现的目标是要符合用户审美和易于使用的需求,还要能贴近当前城市文化生活的风格风貌。系统主界面如图2 所示。

图2 系统主界面

2.3 用户查询功能

线路查询:进入系统主页后,在线路查询的文本框中输入查询的线路名称,点击查询按钮,系统首先检查用户所查询的线路是否存在,如果不存在给出出错提示,如果存在直接给出这条线路的所有信息,如上行和下行站点信息、票价、IC卡、早晚班车时间、线路类型、所属公司等。

站点查询:进入系统页后,在站点查询的文本框中输入查询的站点名称,点击查询按钮,系统首先检查用户所查询的站点是否存在,如果不存在给出出错提示,如果存在系统则显示经过该站点的线路信息,如线路名称及途经的上下行站点。

换乘查询:进入系统主页后,在换乘查询模块的起点名称文本框中输入出发站点,在终点名称的文本框中输入出行的终点,点击查询按钮,系统首先会查询输入的站点是否存在,如果不存在给出出错提示,如果都存在系统便开始搜索这两个站点之间是否有公交线路直达,如果没有直达,系统会继续检测是否存在一次换乘方案,如果有系统会给出所有一次换乘方案供用户选择,如果没有,系统会再次检测是否存在二次换乘方案,如果有系统会给出所有二次换乘方案供用户选择,如果没有,系统则给出提示,两站点之间无任何换乘信息。系统最优路径算法只计算到二次换乘,如果查询出多条转乘线路会按照经过站点数从少到多进行排序。例:在系统中查询从“汽车北站”到“芥子园”的换乘信息。如图3所示,查询结果得知,两站点之间没有直达线路,有3条一次换乘线路可供选择。

图3 公交换乘查询结果

3 结束语

基于PHP实现了兰溪城市公交查询系统,具有非常重要社会效应和现实意义。系统运行稳定,信息量丰富,基本上能满足用户查询行程路线的需求,让用户满意;同时可以实现公交线路和站点的基本信息管理、新闻管理和公告管理,满足了管理员的需求。但也存在一些不足,如公交换乘查询只给出了基于换乘次数最少的查询方案,并没有探讨这样的转乘方案到底是不是行程路径最短或者最为经济,以后还需要进一步完善。

参考文献:

[1] 张蕊.公交查询系统的设计与实现[J].硅谷,2011(21):74-75.

[2] 孙汪泉.城市公交查询管理系统[J].福建电脑,2009(5):164.

[3] 陈昊.城市公交信息查询系统的建立与实现[J].测绘与空间地理信息,2010,3(33):49-51.

猜你喜欢
系统设计
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想