-1

我在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 视图中访问 quesryset 结果?

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

4

3 回答 3

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>
于 2013-01-21T16:08:37.993 回答
0

尝试这个:

$query = $this->db->get('subscriber')->result_array();
于 2013-01-21T15:20:39.067 回答
0

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

尝试在您的模型中执行此操作

$query = $this->db->get('subscriber')->result_array();
于 2013-01-21T15:20:59.393 回答