在codeigniter会话中存储数组数组

时间:2013-01-21 15:03:22

标签: php codeigniter

我在CodeIgniter模型中有一个查询,例如:

$query = $this->db->get('subscriber');

以上查询返回474行。

现在我想以表格格式在我的视图中迭代这些值,因此我将值存储在PHP本机会话中,如:

 $_SESSION['list'] = $query;

但是当我在视图中迭代这个循环时,我没有得到理想的结果。

The value of $_SESSION['conn_id'] is '0'
The value of $_SESSION['result_id'] is '0'
The value of $_SESSION['result_array'] is 'Array'
The value of $_SESSION['result_object'] is 'Array'
The value of $_SESSION['custom_result_object'] is 'Array'
The value of $_SESSION['current_row'] is '0'
The value of $_SESSION['num_rows'] is '474'
The value of $_SESSION['row_data'] is '' 

使用

foreach($_SESSION['list'] as $key=>$value)
{
        echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />';
}

我知道这不是执行此操作的方法。如何在CodeIgniter视图中访问问题集结果?

我们可以直接使用查询集数据吗?

3 个答案:

答案 0 :(得分:1)

你通常会做的是这样的事情

//model.php
class Subsrciber_Model extends CI_Model
{ 
    public function get_subscribers() 
    {
        return $this->db->get('subscriber');
    }
}

//controller.php
class Subscribers extends CI_Controller 
{
    public function subscribers()
    {
        $this->model->load('Subscriber_Model');
        $data = $this->Subscriber_model->get_subscribers();
        $this->load->view('view', $data);
    }
}

//view.php
<div>
    <?php foreach ($data->result() as $row): ?>
       <p><?=$row->conn_id?></p>
    <? endforeach; ?>
</div>

答案 1 :(得分:0)

试试这个:

$query = $this->db->get('subscriber')->result_array();

答案 2 :(得分:0)

您确定从查询中返回了一个数组吗?从SESSION的输出看起来,您正在将对象视为数组。

尝试在模型中执行此操作

$query = $this->db->get('subscriber')->result_array();
相关问题