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采集速度探究总结(原创)
Apr 18 PHP
php session 预定义数组
Mar 16 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
php缓存技术详细总结
Aug 07 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP中session变量的销毁
Feb 27 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
php多文件打包下载的实例代码
Jul 12 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 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调用wsdl文件类型的接口代码分享
2014/11/19 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
php swoft框架实例用法
2020/12/22 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
python处理cookie详解
2014/02/07 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
Django的分页器实例(paginator)
2017/12/01 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
python对视频画框标记后保存的方法
2018/12/07 Python
python 经典数字滤波实例
2019/12/16 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
Python如何将模块打包并发布
2020/08/30 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
环保倡议书500字
2014/05/15 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
导游词格式
2015/02/13 职场文书
异地恋情人节寄语
2015/02/28 职场文书
优质护理服务心得体会
2016/01/22 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫