夺命雷公狗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('删除用户失败'); } } }
即可完成删除功能