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 什么是PEAR?(第三篇)
Mar 19 PHP
php实现无限级分类实现代码(递归方法)
Jan 01 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
header跳转和include包含问题详解
Sep 08 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
PHP中file_exists()判断中文文件名无效的解决方法
Nov 12 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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
oracle资料库函式库
2006/10/09 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
某某同志考察材料
2014/05/28 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
道歉的话怎么说
2015/05/12 职场文书
祝酒词范文
2015/08/12 职场文书
岗位聘任协议书
2015/09/21 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
详解thinkphp的Auth类认证
2021/05/28 PHP