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开发文件系统实例讲解
Oct 09 PHP
一段防盗连的PHP代码
Dec 06 PHP
同一空间绑定多个域名而实现访问不同页面的PHP代码
Dec 06 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
thinkPHP实现的省市区三级联动功能示例
May 05 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
thinkphp5使用无限极分类
Feb 18 PHP
PHP+Ajax简单get验证操作示例
Mar 02 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中的使用情况
2015/11/05 PHP
yii2安装详细流程
2018/05/23 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
js实现按钮加背景图片常用方法
2014/11/01 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
es6函数之尾递归用法实例分析
2020/04/25 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
Python使用filetype精确判断文件类型
2017/07/02 Python
Python星号*与**用法分析
2018/02/02 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
台湾最大网路书店:博客来
2018/03/18 全球购物
介绍一下Python中webbrowser的用法
2013/05/07 面试题
学生思想表现的评语
2014/01/30 职场文书
天下第一关导游词
2015/02/06 职场文书
加班费申请报告
2015/05/15 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL