夺命雷公狗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 Home\Controller;
    use Think\Controller;
    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 Home\Controller;
    use Think\Controller;
    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 Home\Controller;
    use Think\Controller;
    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();
        }
    }

 

这里完成了上面的了,那么下一步就是完成用户列表页了在Application\Home\View\User下创建一个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();
        }

 

下一步在Application\Home\View\User下创建一个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 Home\Controller;
    use Think\Controller;
    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('删除用户失败');
            }
        }
    }

 

即可完成删除功能

posted @ 2015-11-06 12:03  夺命雷公狗  阅读(627)  评论(0编辑  收藏  举报