ThinkPHP中数据操作案例分析
本文实例分析了ThinkPHP中数据操作方法。分享给大家供大家参考。具体如下:
模板中使用函数,相信大部分的TPer都知道也用过吧。
案例:
获取用户名的方法
function get_username($uid){ $row = M('User')->getbyUid($uid); return $row['username']; }
在模板中通过uid显示用户名
<volist name="rows" id="row"> <tr> <td>{$row.uid}</td> <td>{$row.uid|get_username}</td> </tr> </volist>
这种方法相信大伙应该很常用吧?这种用法有两个不好的地方:
1、过多数据库操作;
2、数据操作的位置不合理,数据库连接过长。
优化方案:
1、尽可能把能合并的数据库操作;
2、数据操作应该保留在数据层,尽可能避免在视图里操作数据库,建议在视图开始前执行mysql_close(),断开数据库连接。
希望本文所述对大家基于ThinkPHP的php程序设计有所帮助。
相关推荐
-
ThinkPHP3.1数据CURD操作快速入门
1.CURD概述: CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD.它代表创建(Create).更新(Update).读取(Read)和删除(Delete)操作.CURD 定义了用于处理数据的基本原子操作.之所以将CURD提升到一个技术难题的高度是因为完成一个涉及在多个数据库系统中进行CURD操作的汇总相关的活动,其性能可能会随数据关系的变化而有非常大的差异. CURD在具体的应用中并非一定使用create.update.read和delete字样的方法,但是
-
浅析THINKPHP的addAll支持的最大数据量
Thinkphp中的Model操作有两个方法:add()和addAll 复制代码 代码如下: $User = M("User"); // 实例化User对象 $data['name'] = 'ThinkPHP'; $data['email'] = 'ThinkPHP@gmail.com'; $User->add($data); $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com
-
ThinkPHP3.1新特性之多数据库操作更加完善
通常情况下,如果一个应用只是操作同一个数据库(或者分布式数据库)的话,你只需要在项目配置文件中定义数据库连接信息即可.这里说的多数据库操作一般指的是在一个应用中会操作不同的数据库(包括同类型的和不同类型的数据库),甚至包括动态切换多数据库的情况. 对于早期版本的ThinkPHP来说,切换数据库需要使用高级模型,而现在的3.1版本则可以更加轻松的解决了. 新版对多数据的支持有下面几种方式,开发人员可以根据实际情况选择合适的方式操作: 1.模型定义数据库 如果只是简单的跨库操作,并且只是个别模型类的
-
ThinkPHP数据操作方法总结
本文实例总结了ThinkPHP数据操作方法.分享给大家供大家参考.具体如下: 一.ThinkPHP Insert 添加数据 ThinkPHP 内置的 add 方法用于向数据表添加数据,相当于 SQL 中的 INSERT INTO 行为. 添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创建,修改,读取,删除)中的 Create 的实现,ThinkPHP 支持以普通数组方式和面向对象方式将数据写入数据表. 现在以<PHP MySQL 数据库教程>中操作
-
thinkphp配置连接数据库技巧
本文实例讲述了thinkphp配置连接数据库的常用方法,分享给大家供大家参考.具体方法如下: 1.在thinkphp入口文件同目录下的config.inc.php中添加数据库配置信息 复制代码 代码如下: <?php return array( 'DB_TYPE'=>'mysqli', 'DB_HOST'=>'localhost', 'DB_NAME'=>'demo', 'DB_USER'=>'root', 'DB_PWD'=>'root', 'DB_PR
-
thinkphp备份数据库的方法分享
貌似THINKPHP没有备份数据库的方法,所以我自己写了一个,数据库连接和事务处理用的是pdo,如果有需要的可以联系我,写个mysql或者mysqli的 复制代码 代码如下: <?php class SqlAction extends Action{ function outsql(){ header("Content-Type:text/html;charset=utf-8″); /*用C方法读取数据库配置*/ $host=C('DB_HOST'); $db_name=C('DB_NAM
-
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
废话不多说,直接给大家贴代码了,代码附有注释,相信大家都能看懂的,有不明白的地方欢迎给我留言. 前端HTML+JQuery 备注Jquery需要1.x版本,不能用2.x版本 1.引入必要文件及上传input <load file="__PUBLIC__/js/jquery-1.11.3.min.js" /> <load file="__PUBLIC__/uploadify/jquery.uploadify.min.js" /> <lo
-
ThinkPHP连接数据库的方式汇总
本文实例汇总了ThinkPHP连接数据库的几种常用方式.分享给大家供大家参考.具体如下: ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理,目前的数据库包括Mysql.MsSQL.PgSQL.Sqlite.Oracle.Ibase以及PDO的支持,如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式: 第一种:在项目配置文件里面定
-
ThinkPHP3.2.3数据库设置新特性
ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用. 首先,3.2.3的数据库配置信息有所调整,完整的数据库设置包括: 复制代码 代码如下: /* 数据库设置 */ 'DB_TYPE' => '', // 数据库类型 'DB_HOST' => '', // 服务器地址 'DB_NAME' => '',
-
ThinkPHP表单数据智能写入create方法实例分析
本文实例讲述了ThinkPHP表单数据智能写入create方法.分享给大家供大家参考.具体如下: 创建数据对象 create() 除了手动构造入库的数据集之外,ThinkPHP 还提供了自动创建数据对象的 create() 方法.create() 方法将自动收集提交的表单数据并创建数据对象而无需人工干预,这在表单数据字段非常多的情况下更具优势. 将前文写入表单数据的例子用 create() 来实现: public function insert2(){ header("Content-Type:
随机推荐
- 浅谈Sizzle的“编译原理”
- 如何防范别人盗你的qq号(盗别人的qq密码)
- C#正则表达式获取下拉菜单(select)的相关属性值
- Git发现git push origin master 报错的解决方法
- Android基于TextView属性android:ellipsize实现跑马灯效果的方法
- JSON数据转换成Java对象的方法
- 详解cordova打包成webapp的方法
- PHP 之 写时复制介绍(Copy On Write)
- 浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
- JSP入门教程(1)
- C++获取当前系统时间的方法总结
- Mysql查看版本号的五种方式介绍
- 详解VueJs前后端分离跨域问题
- jQuery学习笔记之入门
- KB967723造成MySQL频繁无法连接
- ISAPI Rewrite iis伪静态组件最新教程
- Java中关于内存泄漏出现的原因汇总及如何避免内存泄漏(超详细版)
- smarty缓存用法分析
- JavaScript实现三阶幻方算法谜题解答
- Android获取手机本机号码的实现方法