• 夺命雷公狗ThinkPHP项目之----商城5快速入门


    本章是快速入门篇,有基础可直接跳过:

    1.创建一个数据库名叫shopp的,然后穿件一张表

    #创建用户表
    create table user(
        id int unsigned not null auto_increment primary key comment '用户编号',
        username varchar(50) not null default '' comment '用户名',
        email varchar(50) not null default '' comment '电子邮箱',
        password char(32) not null default '' comment '用户密码,md5加密',
        reg_time int unsigned not null default 0 comment '用户注册时间'
    )engine=MyISAM charset=utf8;

    2.定义配置文件

    配置路径在:tp---Application---Common---Conf---config.php里面进行配置

    我们可以在手册上上直接找到数据库配置的参数,

    打开tp的手册,在附录下的--配置参考---数据库设置

    <?php
    return array(
        //'配置项'=>'配置值'
            //数据库配置
            'DB_TYPE'               =>  'mysql',     // 数据库类型
            'DB_HOST'               =>  'localhost', // 服务器地址,因为数据库是在本地的所以写localhost
            'DB_NAME'               =>  'shopp',          // 数据库名
            'DB_USER'               =>  'root',      // 用户名
            'DB_PWD'                =>  '',          // 密码因为的我密码是空,所以不写
            'DB_PORT'               =>  '3306',        // 端口
          'DB_PREFIX'             =>  '',    // 数据库表前缀如果么有建议不用谢这段,经测试报错
    
            
    );

    在项目中数据库配置文件一般都是值写一遍,很少回去更改的

    3.编写控制器

    如果步知道控制器如何编写,可以借鉴他里面自带的那个进行修改,

    创建一个名字叫UserController.class.php的控制器

    <?php
        //用户控制器
        namespace HomeController;
        use ThinkController;
        class UserController extends Controller {
            public function add(){
                if(IS_POST){
                    //表单提交
                    return;
                }
                //载入表单
                $this->display();
            }
        }

    4.准备视图文件

    在view里面创建一个名为User的文件夹(一个控制器对应一个文件夹)然后在里面创建一个叫add.html的文件进行存放模版信息

    add.html代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            <form action="" method="post">
                <ul>
                    <li><label>USER:<input type="text" name="username"></label></li>
                    <li><label>PASS:<input type="password" name="password"></label></li>
                    <li><label>邮箱:<input type="text" name="email"></label></li>
                    <li><label><input type="submit" vaule="添加"></label></li>
                </ul>
            </form>
        </body>
    </html>

    然后访问http://localhost/shopp/index.php/home/User/add即可看到刚才所创建的页面了

    对Controller控制器进行完善

    <?php
        //用户控制器
        namespace HomeController;
        use ThinkController;
        class UserController extends Controller {
            public function add(){
                if(IS_POST){
                    //表单提交
                    $data['username'] = I('username');
                    $data['password'] = I('password');
                    $data['email'] = I('email');
                    $data['reg_time'] = time();//获取当前的时间戳
    
                    //使用模型弯沉插入操作
                    $mod = M('user');
                    if($mod->add($data)){
                        $this->success('添加用户成功',U('User/index'));
                    }else{
                        $this ->error('添加用户失败');
                    }
                    return;
                }
                //载入表单
                $this->display();
            }
        }

    最后返回到add页面进行添加数据,然后在数据库里即可查看到。

    我们下一步可以一继续在控制器下写index方法了

    <?php
        //用户控制器
        namespace HomeController;
        use ThinkController;
        class UserController extends Controller {
            public function index(){
                //从数据库中取出数据
                $user = M('User') -> select();
                //dump($user);die;
                //分配数据到模版
                $this->assign('user',$user);
                $this->display();
            }
            public function add(){
                if(IS_POST){
                    //表单提交
                    $data['username'] = I('username');
                    $data['password'] = I('password');
                    $data['email'] = I('email');
                    $data['reg_time'] = time();//获取当前的时间戳
    
                    //使用模型弯沉插入操作
                    $mod = M('user');
                    if($mod->add($data)){
                        $this->success('添加用户成功',U('User/index'));
                    }else{
                        $this ->error('添加用户失败');
                    }
                    return;
                }
                //载入表单
                $this->display();
            }
        }

    这里完成了上面的了,那么下一步就是完成用户列表页了在ApplicationHomeViewUser下创建一个index.html的文件

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>用户列表</title>
        </head>
        <body>
            <table border="1" width="500">
                <tr>
                    <th>编号</th>
                    <th>用户名</th>
                    <th>邮箱</th>
                    <th>操作</th>
                </tr>
                <volist name="user" id="vo">
                    <tr>
                        <td>{$vo['id']}</td>
                        <td>{$vo.username}</td>
                        <td>{$vo.email}</td>
                        <td><a href="">编辑</a>|<a href="">删除</a></td>
                    </tr>
                </volist>
            </table>
        </body>
    </html>

    下一步我们就开始定义编辑和删除的入口

    <td><a href="__CONTROLLER__/edit/id/{$vo['id']}">编辑</a>  |  <a href="__CONTROLLER__/del/id/{$vo['id']}">删除</a></td>

    入口编辑完成那么我们就开始写编辑和删除的功能了。

    那么下一步就是在控制器UserController里面写个edit的方法了,代码如下:

            public function edit(){
                $id = I('id'); //获取id
                if(IS_POST){
                    //更新操作
                    $data['username'] = I('username');
                    $data['password'] = I('password');
                    $data['email'] = I('email');
                    $data['reg_time'] = time();//获取当前的时间戳
                    $data['id'] = $id;
                    //使用模型弯沉插入操作
                    $mod = M('user');
                    if($mod->save($data)){
                        $this -> success('修改用户成功',U('User/index'));
                    }else{
                        $this -> error('修改用户失败');
                    }
                    return;
                }
                //载入编辑页面
                $user = M('user') -> find($id);
                $this->assign('user',$user);
                $this-> display();
            }

    下一步在ApplicationHomeViewUser下创建一个edit.html的文件

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            <form action="" method="post">
                <ul>
                    <li><label>USER:<input type="text" name="username" value="{$user.username}"></label></li>
                    <li><label>PASS:<input type="password" name="password" value="{$user.password}"></label></li>
                    <li><label>邮箱:<input type="text" name="email" value="{$user.email}"></label></li>
                    <li><label><input type="submit" vaule="修改"></label></li>
                    <input type="hidden" name="id" value="{$user.id}">
                </ul>
            </form>
        </body>
    </html>

    这个完成了最后一步就是删除了,这个其实是最容易的,

    在UserController里面写多个叫del的方法,如下代码所示:

    <?php
        //用户控制器
        namespace HomeController;
        use ThinkController;
        class UserController extends Controller {
            public function index(){
                //从数据库中取出数据
                $user = M('User') -> select();
                //dump($user);die;
                //分配数据到模版
                $this->assign('user',$user);
                $this->display();
            }
            public function add(){
                if(IS_POST){
                    //表单提交
                    $data['username'] = I('username');
                    $data['password'] = I('password');
                    $data['email'] = I('email');
                    $data['reg_time'] = time();//获取当前的时间戳
    
                    //使用模型弯沉插入操作
                    $mod = M('user');
                    if($mod->add($data)){
                        $this->success('添加用户成功',U('User/index'));
                    }else{
                        $this ->error('添加用户失败');
                    }
                    return;
                }
                //载入表单
                $this->display();
            }
    
            public function edit(){
                $id = I('id'); //获取id
                if(IS_POST){
                    //更新操作
                    $data['username'] = I('username');
                    $data['password'] = I('password');
                    $data['email'] = I('email');
                    $data['reg_time'] = time();//获取当前的时间戳
                    $data['id'] = $id;
                    //使用模型弯沉插入操作
                    $mod = M('user');
                    if($mod->save($data)){
                        $this -> success('修改用户成功',U('User/index'));
                    }else{
                        $this -> error('修改用户失败');
                    }
                    return;
                }
                //载入编辑页面
                $user = M('user') -> find($id);
                $this->assign('user',$user);
                $this-> display();
            }
    
            public function del(){
                $id = I('id');
                if(M('user') -> delete($id)){
                    $this -> success('删除用户成功',U('User/index'));
                }else{
                    $this -> error('删除用户失败');
                }
            }
        }

    即可完成删除功能

  • 相关阅读:
    360删除、修改注册表问题
    朗姆达表达式类似IN查询条件
    SQL 分组排序、CASE...WHEN...、是否为空 查询
    Excel 复制Sql查询结果错位
    redis实现购物车秒杀原理
    sphinx的使用
    linux安装
    linux和windows的区别
    Yii2.0实现语言包切换功能
    Linux的7个级别
  • 原文地址:https://www.cnblogs.com/leigood/p/4942216.html
Copyright © 2020-2023  润新知