这是我的循环
foreach($values['searchresult']['hotel'] as $key=>$items){
//setup the array for booking page
$data[$key]=$items['roomDetails'];
$this->session->set_userdata('room_details',$data);
<a href="'.base_url().'book/'.$key.'">Book</a>
}
在此我将以book
视图的方式获取每个房间的详细信息
public function room_details($key){
$data=$this->session->userdata('roomDetails');
/* for a particular room*/
print_r($data[$key]);
//populate the data in the view
$this->load->view('book-now',$data);
}
它的工作正常,但它的大数组我不知道我的方法是否正确是否有其他方法可以有效地做到这一点?
答案 0 :(得分:1)
所有会话都存储在服务器上。您可以存储任意数量的数据。 脚本一次可以消耗的最大内存默认为128MB,这是您可以达到的限制。
答案 1 :(得分:0)
在Codeigniter中
将动态mysql结果存储到会话变量不是一个好方法。 因为 我们无法预测sql查询导致的数组或值的动态大小。
使用/执行sql查询来获取数据而不是会话。但是,有限大小的用户名,ID,状态等可以存储在会话中。
在有关CI会话的文档中,会话对象中存储的数据量存在大小限制。并且根据RFC 2109,此大小限制为4KB
访问http://forum.codeigniter.com/archive/index.php?thread-7145.html