ThinkPHP基本的增删查改操作实例教程


Posted in PHP onAugust 22, 2014

本文实例讲述了ThinkPHP基本的增删查改操作,是ThinkPHP项目开发中最常用的基础操作,有着十分重要的应用价值。现将完整的实例代码与大家分享,希望能对大家有所帮助。具体如下:

一、表aoli_user字段设置:

表aoli_user主要有以下几个字段:

id   username   password    createtime    createip

二、view模板部分

1.用户首页模板:

aoli/Home/Tpl/default/User/index.html页面代码如下:

<form action="__URL__/add" method="post">
 用户名:<input type="text" name="username" /><br />
 密码:<input type="password" name="password" /><br />
 重复密码:<input type="repassword" name="repassword" /><br />
 <input type="submit" value="注册" />
</form>

<volist name="alist" id="vo">
 <li><span>ID:</span>{$vo['id']}<span>用户名:</span>{$vo['username']}<span>注册ip:</span>{$vo['createip']}<a href="__URL__/del/id/{$vo['id']}">删除</a>  <a href="__URL__/edit/id/{$vo['id']}">编辑</a></li>
</volist>

2.用户编辑模板:

aoli/Home/Tpl/default/User/edit.html页面代码如下:

<form action="__URL__/update" method="post">
 用户名:<input type="text" name="username" value="{$data['username']}" /><br />
 密码:<input type="password" name="password" value="{$data['password']}" /><br />
 IP:<input type="text" name="createip" value="{$data['createip']}" /><br />
 时间:<input type="text" name="createtime" value="{$data['createtime']}" /><br />
 <input type="hidden" value="{$data['id']}" name="id" />
 <input type="submit" value="更新" />
</form>

二、action部分:

aoli/Home/Lib/Action/UserAction.class.php页面如下:

class UserAction extends Action {
   function index(){
     $user=M('user');
     $list=$user->field(array('id','username','createip'))->select();
     $this->assign('title','thinkphp视频演示');
     $this->assign('alist',$list);
     $this->display();     
   }
   //删除
   function del(){
     $user=D('user');
     if($user->delete($_GET['id'])){
       $this->success('删除成功');   
     }else{
       $this->error('删除失败');
     }
   }
   //增加
   function add(){
     Load('extend');
     if($_POST['password']!=$_POST['repassword']){
       $this->error('两次密码不一致');   
     }
     $user=D('user');
     if($vo=$user->create()){
       $user->password=md5($user->password);
       $user->createtime=time();
       //$user->createip=$_SERVER[];
       $user->createip=get_client_ip();
       if($user->add()){
         $this->success('用户注册成功,返回上级页面');   
       }else{
         $this->error('用户注册失败,返回上级页面');
       }
     }else{
       $this->error($user->getError());   
     }
   }
   //显示用户的修改项
   function edit(){
     $user=M('user');
     $id=(int)$_GET['id'];
     $list=$user->where("id=$id")->find();
     $this->assign('data',$list);
     $this->assign('title','显示用户编辑信息'); 
     $this->display();
   }
   //将更新数据写入数据库
   function update(){
     $user=M('user');
     $user->password=md5($user->password);
     if($user->create()){
       if($insertid=$user->save()){
         $this->success('更新成功,受影响的行数为'.$insertid);
       }else{
         $this->error('更新失败');   
       }
     }
   }
}
?>

感兴趣的读者可以在项目中调试运行一下本文所述实例,以加深对ThinkPHP增删查改操作的理解,方便在以后的项目中加以灵活运用。

PHP 相关文章推荐
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
php笔记之常用文件操作
Oct 12 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
Yii2数据库操作常用方法小结
May 04 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
Dec 31 PHP
实现PHP中session存储及删除变量
Oct 15 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
phpStorm2020 注册码
Sep 17 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 #PHP
ThinkPHP验证码和分页实例教程
Aug 22 #PHP
ThinkPHP文件上传实例教程
Aug 22 #PHP
ThinkPHP中ajax使用实例教程
Aug 22 #PHP
ThinkPHP中的常用查询语言汇总
Aug 22 #PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 #PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
You might like
PHP下escape解码函数的实现方法
2010/08/08 PHP
php创建多级目录的方法
2015/03/24 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
php连接mysql数据库
2017/03/21 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
JavaScript中的类继承
2010/11/25 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
浅析python中的分片与截断序列
2016/08/09 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
python构建深度神经网络(DNN)
2018/03/10 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
Python变量访问权限控制详解
2019/06/29 Python
在django模板中实现超链接配置
2019/08/21 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
2014年教研活动总结范文
2014/04/26 职场文书
电子商务专业求职信
2014/07/10 职场文书
安全例会汇报材料
2014/08/23 职场文书
导游词欢迎词
2015/02/02 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
创业计划书之旅游网站
2019/09/06 职场文书