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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
必须收藏的php实用代码片段
Feb 02 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
PHP __call()方法实现委托示例
May 20 PHP
laravel5.1框架model类查询的实现方法
Oct 08 PHP
PHP大文件分割分片上传实现代码
Dec 09 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
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
如何使用python爬取csdn博客访问量
2016/02/14 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
python绘制热力图heatmap
2020/03/23 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
销售副总经理岗位职责
2013/12/11 职场文书
关于毕业的广播稿
2014/01/10 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫