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 相关文章推荐
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
非常经典的PHP文件上传类分享
May 15 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP论坛实现积分系统的思路代码详解
Jun 01 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
用缓存实现静态页面的测试
2006/12/06 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
joomla组件开发入门教程
2016/05/04 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
js里怎么取select标签里的值并修改
2012/12/10 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
create-react-app中添加less支持的实现
2019/11/15 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python编写弹球游戏的实现代码
2018/03/12 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
python中format函数如何使用
2020/06/22 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python request中文乱码问题解决方案
2020/09/17 Python
Python用户自定义异常的实现
2020/12/25 Python
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
办公室年终个人自我评价
2013/10/28 职场文书
2014年团总支工作总结
2014/11/21 职场文书
消费者理赔投诉书
2015/07/02 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
小学三年级作文之写景
2019/11/05 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
CentOS MySql8 远程连接实战
2022/04/19 MySQL
springcloud整合seata
2022/05/20 Java/Android