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 相关文章推荐
web方式ftp
Oct 09 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php横向重复区域显示二法
Sep 25 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
php判断是否为json格式的方法
Mar 04 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 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 读取shell管道传输过来的内容
2010/03/01 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
js中的屏蔽的使用示例
2013/07/30 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
基层干部十八大感言
2014/01/19 职场文书
经典公益广告词
2014/03/13 职场文书
土地转让协议书范本
2014/04/15 职场文书
班级文化标语
2014/06/23 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
金融保险专业求职信
2014/09/03 职场文书
实习科室评语
2015/01/04 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫
使用Python获取字典键对应值的方法
2022/04/26 Python