设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
请教:helper文件中load->library报错及foreach问题 ...
返回列表
查看:
4007
|
回复:
6
[已解决]
请教:helper文件中load->library报错及foreach问题
[复制链接]
gauspican
gauspican
当前离线
积分
688
IP卡
狗仔卡
发表于 2010-9-20 13:24:06
|
显示全部楼层
|
阅读模式
1、想定义一个全局变量,需要从DB中取数据,按论坛所说建议定义在helper中。
在helper中load->library('database'),但DB相关语句仍不能执行,有什么问题吗?
2、foreach按手册定义,是操作数组的一个拷贝,不过试验以下语句:
$query = $this->db->query(xxx)
foreach($query->result() as $row) {
$row->name = _myDeal($row->name);
}
return $query->result();
会发现,$row->name实质已经被_myDeal处理过了,是否矛盾?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
kinglike
kinglike
当前离线
积分
204
IP卡
狗仔卡
发表于 2010-9-20 13:31:15
|
显示全部楼层
定义全局变量。我比较喜欢用config文件保存,减少数据库的读取。
回复
支持
反对
使用道具
举报
显身卡
gauspican
gauspican
当前离线
积分
688
IP卡
狗仔卡
楼主
|
发表于 2010-9-20 13:33:42
|
显示全部楼层
因为数据比较多,我是先存到DB中,再缓存到config文件,如果config文件损坏或有更新则从DB中取数据重新生成。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2010-9-20 14:04:41
|
显示全部楼层
在 helper 需要用 get_instance() 才可以 load 类库和数据库。
PHP
复制代码
$CI
=&
get_instance
(
)
;
$CI
->
load
->
database
(
)
;
复制代码
回复
支持
反对
使用道具
举报
显身卡
gauspican
gauspican
当前离线
积分
688
IP卡
狗仔卡
楼主
|
发表于 2010-9-20 15:20:10
|
显示全部楼层
多谢Hex、Kinglike!
补充一句,方便后来者:
$CI =& get_instance();
$CI->load->database();
$query = $CI->db->query(xxx)
注意query这一句是$CI,而不是大家常用的$this。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2010-9-20 15:44:16
|
显示全部楼层
$CI 随意了,只是个变量而已,$a $b 都行。。。
回复
支持
反对
使用道具
举报
显身卡
qingbofish
qingbofish
当前离线
积分
335
IP卡
狗仔卡
发表于 2012-8-2 13:30:55
|
显示全部楼层
我使用$CI = & get_instance ();的时候页面显示空白,一点出错信息也没有。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页