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仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP实现的购物车类实例
Jun 17 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
PDO实现学生管理系统
Mar 21 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
JS实现音量控制拖动
2020/01/15 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
jQuery实现简单全选框
2020/09/13 jQuery
最基础的Python的socket编程入门教程
2015/04/23 Python
Python中的hypot()方法使用简介
2015/05/18 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
观看《永远的雷锋》心得体会
2014/03/12 职场文书
监督检查工作方案
2014/05/28 职场文书
推广普通话标语
2014/06/27 职场文书
现实表现证明材料
2015/06/19 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python