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 一元分词算法
Nov 30 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
Nov 10 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
隐性调用php程序的方法
Jun 13 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
php实现用户登陆简单实例
Apr 04 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 PHP
PHP实现页面静态化深入讲解
Mar 04 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
SONY SRF-40W电路分析
2021/03/02 无线电
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
php操作mongoDB实例分析
2014/12/29 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python os.path模块常用方法实例详解
2018/09/16 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
24式加速你的Python(小结)
2019/06/13 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
介绍一下Make? 为什么使用make
2016/07/31 面试题
2014年大学生四年规划书范文
2014/04/03 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
各种货币符号快捷输入
2022/02/17 杂记
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫