欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

CI $this->load->view不能循环调用

程序员文章站 2024-04-02 23:22:52
...
项目中遇到的一点问题,获取视图的模板并存入数据库,简单描述一下:
1、查询出id
2、循环调用视图

3、create_static_temp_page这个方法会调用视图,取出视图的内容,并将内容存入数据库


问题:
数据库查询到的id明显是多个,循环调用这个方法,经过测试,程序每次运行到$this->db->view这一步就“停止”了,这里停止并不是return或者exit,因为能把视图的内容存入数据库,但是只循环一次,因为我在循环里打印$r['id']只输出一次。

网上找到的一点思路:CI 的视图类$this->db->view会在调用完毕后,运行ob_end_flush(),但这跟循环一次有什么关系?

寻求各位的帮助


回复讨论(解决方案)

看起来逻辑上没有问题。只能一步步调试了。
你看看$arr里有几个元素?

$arr 是一个二维数组
array (size=2)
0 =>
array (size=1)
'id' => string '88' (length=2)
1 =>
array (size=1)
'id' => string '89' (length=2)

我没有好办法了,只能一步步跟踪,看看什么时候停止了,为什么停止了。
对了,记得打开错误信息,可能是出错了,导致程序中止了。

自己调试一下,看你的视图做了什么。

CI的load view方法使用ob缓存的方法将内容输出到屏幕,$thi->load->view('',true)的第二个参数决定了是否是否使用ob,每次在调用完之后都会执行ob_end_clean(),需要循环调用load view方法的你可以自己再思考思考,主要是ob缓存的一些问题

第三个参数。。。