这是我的循环
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);
}
它工作正常,但它是一个大数组,我不知道我的方法是否正确,是否有任何其他方法可以有效地做到这一点?
所有会话都存储在服务器上。您可以存储任意数量的数据。脚本一次可以消耗的最大内存默认为 128MB,这是您可以达到的限制。
In Codeigniter
将动态 mysql 结果存储到会话变量不是一个好方法。因为我们无法预测由 sql 查询产生的数组或值的动态大小。
使用/执行 sql 查询来获取数据而不是会话。但是具有有限大小的用户名,ID,状态等可以存储在会话中。
在有关 CI 会话的文档中,会话对象中存储的数据量存在大小限制。根据 RFC 2109,此大小限制为 4KB
访问 http://forum.codeigniter.com/archive/index.php?thread-7145.html