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 相关文章推荐
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
一个PHP分页类的代码
May 18 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
php强制下载文件函数
Aug 24 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
asp.net和php的区别点总结
Oct 10 PHP
解决laravel资源加载路径设置的问题
Oct 14 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在线打包程序源码
2008/07/27 PHP
php数组随机排序实现方法
2015/06/13 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
Python2包含中文报错的解决方法
2018/07/09 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python脚本开机自启的实现方法
2019/06/28 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
django下创建多个app并设置urls方法
2020/08/02 Python
实例代码讲解Python 线程池
2020/08/24 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
模范家庭事迹材料
2014/02/10 职场文书
新年寄语大全
2014/04/12 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android