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+DBM的同学录程序(3)
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
PHP中使用curl入门教程
Jul 02 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
php中spl_autoload详解
2014/10/17 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python操作redis的方法
2015/07/07 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
数据库专业英语
2012/11/30 面试题
十八大标语口号
2014/10/09 职场文书
小学四年级学生评语
2014/12/26 职场文书
python库sklearn常用操作
2021/08/23 Python