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 set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
PHP安全性漫谈
Jun 28 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
深入浅析Yii admin的权限控制
Aug 31 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
php自定义时间转换函数示例
Dec 07 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
PHP Include文件实例讲解
Feb 15 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
ASP知识讲座四
2006/10/09 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
javascript 自定义事件初探
2009/08/21 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
Python pass 语句使用示例
2014/03/11 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
linux 下selenium chrome使用详解
2020/04/02 Python
python如何构建mock接口服务
2021/01/28 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
淘宝店铺营销方案
2014/02/13 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
教师师德承诺书
2014/03/26 职场文书
高中生评语大全
2014/04/25 职场文书
机动车交通事故协议书
2015/01/29 职场文书
2015年司法所工作总结
2015/04/27 职场文书
跑吧孩子观后感
2015/06/10 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang