利用thinkphp创建一个物流原型系统

本文将完成一个物流原型系统核心代码的编写。该系统采用thinkphp作为后端框架,bootstrap作为前端主框架,并使用百度地图api作为地图载体。

一、系统需求

系统需完成的功能包括:

  • 订单提交
  • 订单追踪(出发地、目的地、当前位置)
  • 地图集成(百度地图api)
  • 用户管理

二、技术基础

  • 后端:php,框架:thinkphp
  • 前端:bootstrap,jquery,百度api

关于thinkphp的核心学习可参考前一篇《利用thinkphp建立一个简单的站点》,其中介绍了该框架的基础入门教程。

三、系统设计

1、控制器及视图

由于是原型系统,所以在控制器上不分其他控制器,因此只需创建一个index的控制器,然后在该控制器的方法上做文章。视图文件也可就放在一个index文件夹中,方便调用。

2、数据库设计

user表:

  • id:int 8(用户编号)
  • name:varchar 20(用户名)
  • password:varchar 20(密码)
  • type:int 1(用户类型:用户、司机、管理员等)

order表:

  • id:int 8(订单编号)
  • start:varchar 50(订单起始地,位置信息用字符串描述)
  • end:varchar 50(订单目的地,位置信息用字符串描述)
  • time:varchar 50(订单上传时间)
  • lal:varchar 50(订单目前所处位置)

四、核心代码

1、index控制器

控制器index的核心代码如下:

<?php
namespace app\index\controller;

//引入多个包
use think\Controller;
use think\View;
use think\Db;
use think\Request;
use think\Session;

class Index extends Controller
{
   
    public function index()//首页
    {
   
        $DB=new Db;
        $order=$DB::table("order")->select();
        $this->assign('order',$order);
        $this->assign('name',Session::get('name'));
        $this->assign('type',Session::get('type')==0?"用户":"司机");
        return $this->fetch();
    }
    public function query()//查询页
    {
   
        if(request()->isPost()){
   
            $DB=new Db;
            $map['id']=input('id');
            $order=$DB::table("order")->where($map)->find();
            $this->assign('order',$order);
            return $this->fetch();
        }
        $this->error("错误");
        
    }
    public function view($id)//订单页
    {
   
        $DB=new Db;
        $map['id']=$id;
        $order=$DB::table("order")->where($map)->find();
        $this->assign('order',$order);
        return $this->fetch('query');
    }
    public function add()//添加订单
    {
   
        if(request()->isPost()){
   
            $data=[
                'start'=>input('start'),
                'end'=>input('end'),
                'time'=>time(),
            ];
            $DB=new Db;
            $DB::name('order')->insert($data);
        }
        $this->success("添加成功!");
    }
    public function del($id)//删除订单
    {
   
        $DB=new Db;
        $info=$DB::table("order")->where('id',$id)->delete();
        if($info){
    
            $this->success("删除成功!");
        }else{
   
            $this->error($file->getError());
        }
    }
    public function douser()//验证用户
    {
   
        $request = Request::instance();
        if(request()->isPost()){
   
            $m['name']=input('name');
            $m['password']=input('password');
            $DB=new Db;
            $userdata=$DB::table("user")->where($m)->find();
            if($userdata==null){
   
                return $this->error('用户名或密码错误!');
            }else{
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值