基于PHP的食堂管理系统

Proditio

发布日期: 2019-02-13 20:09:58 浏览量: 1933
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一.课程设计概述

1.1 概述

饭堂消费管理系统由基于B/S 的PHP+ MySQL 开发,基本兼容IE6和Chrome, 开发环境是Windows XP加PHPNow(Win32 下绿色免费的Apache + PHP + MySQL 环境套件包| 简易安装、快速搭建。

二.设计任务分析

2.1 数据流图

2.2 E-R图

2.3 业务角色

本管理系统共有四种业务员: 普通消费者,消费记录查看者,进货记录者,和管理员

  • 普通消费者: 只有模拟刷卡消费的权限

  • 消费记录查看者: 有查看所有消费记录和查询某个学生消费记录的权限 (proid=2)

  • 进货记录者: 添加进货记录(proid=1)

  • 管理员: 所有权限(proid=0)

2.4 数据库表设计

  • add_custom_record: 消费记录表

  • add_material: 食材进货

  • custom: 消费者信息

  • food: 食物

  • jobs: 员工职位表

  • manage: 帐号表

  • material: 食材表

  • student: 学生信息表

  • supply: 供应商

  • worker: 员工表

2.5 文件目录说明

  • 文件

    • admin_manage.php: 管理员的管理页面
    • auth_login.php: 对登录的用户名和密码进行认证
    • conn.php: 连接数据库
    • init.php: 应用系统的初始化,用于生成表和创建一个管理员
    • login.html: 用于输入用户名和密码
    • logout.php: 注销
    • update_password.php: 用于修改密码,输入旧密码和新的密码
    • update_pw.php: 用于修改密码,连接数据库,修改值
    • util.php: 工具文件,有过滤殊字符和重定向
  • 目录

    • 目录 student: 对学生信息的增,删,查
    • 目录 custom: 对消费者的增,修,查
    • 目录 post: 对职位的增,删,改,查
    • 目录 worker: 对员工的增,删,改查
    • 目录 food: 对食物的增,删,改查
    • 目录 supply: 对供应商的增,删,改查
    • 目录 material: 对食材的增,删,改查
    • 目录 add_material: 添加,查询食材进货
    • 目录 manage: 对管理帐号的增,删,查修
    • 目录 add_custom: 模拟刷卡消费,查询消费记录
    • 目录 template: 模板文件
    • 目录 static: 存放静态文件,如图片文件,CSS文件

SQL创建表

  1. $student = "create table if not exists student (
  2. sid char(10) primary key,
  3. name char(10) not null,
  4. sex char(3) not null,
  5. tel varchar(13)) engine=innodb";
  1. // 消费者
  2. $custom = "create table if not exists custom (
  3. cid char(10) primary key ,
  4. cur_money float,
  5. foreign key (cid) references student(sid) on delete cascade on update cascade ) engine=innodb";
  1. //供应商
  2. $supply = "create table if not exists supply (
  3. sid int primary key auto_increment,
  4. name char(10) not null,
  5. sex char(3) not null,
  6. tel varchar(13),
  7. address char(100),
  8. description char(200),
  9. add_time datetime)";
  1. //职位
  2. $jobs = "create table if not exists jobs (
  3. jid int primary key auto_increment,
  4. name char(100) not null,
  5. salary float )"; //薪水
  1. //饭堂员工
  2. $worker = "create table if not exists worker (
  3. wid int primary key auto_increment,
  4. name char(10) not null,
  5. sex char(3) ,
  6. jid int,
  7. birth date,
  8. foreign key (jid) references jobs(jid))";
  1. // 食材
  2. $material = "create table if not exists material (
  3. mid int primary key auto_increment,
  4. name char(20),
  5. description char(200))";
  1. // 食物
  2. $food = "create table if not exists food (
  3. fid int primary key auto_increment,
  4. name char(20),
  5. description char(200),
  6. price float not null)";
  1. // 食材进货表
  2. $add_material = "create table if not exists add_material (
  3. aid int primary key auto_increment,
  4. mid int,
  5. sid int,
  6. price float not null,
  7. amount float not null,
  8. add_time datetime,
  9. charge int,
  10. foreign key (mid) references material(mid),
  11. foreign key (sid) references supply(sid),
  12. foreign key (charge) references worder(wid))";
  1. // 消费记录
  2. $custom_record = "create table if not exists add_custom_record (
  3. id int primary key auto_increment,
  4. cid char(10),
  5. money float not null,
  6. operator int not null,
  7. add_time datetime,
  8. add_date date,
  9. foreign key (cid) references custom(cid))";
  1. // 帐号表
  2. $manage = "create table if not exists manage (
  3. id int primary key auto_increment,
  4. username char(20) not null unique,
  5. password char(32) not null ,
  6. proi int not null )";

三. 用户界面

四. 总结

4.1 不足

本次课程设计的餐厅管理系统中并没有实现前台的备份,由于时间比较紧,加上在MySQL中在可以用mysqldump 来实现备份整个数据库,此外有些功能没有完成,如统计,但本系统加入了很多没有要求的功能,如食材管理,供应商管理等。

4.2 得意之处

在系统初始化时,要生成九个表,我把这个过程写成了php文件,所以可以很快的完成系统的布署(这点学wordpress)。

4.3 心得体会

网页的UI设计得十分简单,一来修改方便,二来不用写很多代码,看来起还一目了然。

尽管这是一个十分简单的课程设计,用PHP实现起来不难,但是当要处理多个对象时,每个很要添,删,查,改,需要一点耐心,难怪现在涌现了那么多框架,它们就是希望将程序员从这些乏味的工作中解求出来的。

上传的附件 cloud_download 基于php的食堂管理系统.zip ( 398.55kb, 186次下载 )
error_outline 下载需要13点积分

keyboard_arrow_left上一篇 : 基于JAVA的电梯调度模拟 基于C语言实现的关键字检索系统 : 下一篇keyboard_arrow_right



大作业
2020-06-13 21:49:05
首先感谢您的代码,其次,我好像知道这个怎么弄数据库,不知道怎么运行
大作业
2020-06-13 21:49:09
首先感谢您的代码,其次,我好像知道这个怎么弄数据库,不知道怎么运行

发送私信

不慌不忙,我们来日方长

8
文章数
6
评论数
最近文章
eject