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用数组返回无限分类的列表数据的代码
Aug 08 PHP
php curl的深入解析
Jun 02 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
php文件缓存类汇总
Nov 21 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
分享php多功能图片处理类
May 15 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
PHP进程通信基础之信号
Feb 19 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
又一个php 分页类实现代码
2009/12/03 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
Python的垃圾回收机制深入分析
2014/07/16 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
预备党员转正思想汇报
2014/01/12 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
小学语文业务学习材料
2014/06/02 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
个人工作决心书
2015/09/22 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python