从MySQL表中读取数据,并在codeigniter视图中仅打印每行的特定项

时间:2015-06-14 18:14:27

标签: php codeigniter codeigniter-2

在模型(model_users)中,我有以下内容:

public function members_list()
{ 
$query = $this->db->get('USERS');
return $query->result();
}

在控制器中,我有以下功能:

public function members_list()
{
$this->load->view('members_list_view');
}

在视图文件中,我有以下代码:

$this->load->model('model_users');  

$membersArray = $this->model_users->members_list();

foreach ($membersArray  as $v1) {
       foreach ($v1 as $v2) {
                            echo "$v2\n";
                            }
                                }

我的问题如下:

如何仅回显USERS表的每一行的USERID?

使用视图文件中的上述代码,我得到了整个表格。

1 个答案:

答案 0 :(得分:2)

你的双重结构循环

foreach ($membersArray  as $v1) {
           foreach ($v1 as $v2) {    

实际上在每一行上运行,然后在每一行中的每个元素上运行,因此当回显$vs时,你应该得到字段值,最后你应该得到所有行的所有字段(甚至可能是重复的)

没有必要运行第二个循环,除非你真的想在每个数组的所有字段上循环而不将它们插入到正确的位置,通常做的是这样的:

foreach ($membersArray  as $v1) {

    echo $v1['user_id']."\n";   
}    

在这种情况下,$v1将是一个数组/对象,其中DB表的所有字段都作为元素。

如果查询返回一个对象而不是一个数组,则可以像这样调用特定元素:

echo $v1->user_id."\n";