抓取DB值并显示For Each - Codeigniter

时间:2013-09-30 20:38:00

标签: php codeigniter

让我的For Each函数将数据库中的所有值显示到视图中时遇到一些麻烦。我哪里错了?不是后端专业人士,也不是我写的。数据库表非常简单,一列名为id。我希望在每个行中显示每一行。

我有一个自定义的MY_Controller.php文件,而_construct我有这个,它在整个网站上填充变量。

$this->country_zones = $this->Studios_model->get_studios();

型号:

function get_studios()
{
    //this will alphabetize them
    $this->db->order_by('id', 'ASC');

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

    foreach ($query->result() as $row)
    {
        $countries = $row->id;
    }
    return $countries;
}

在我看来:

<?php foreach($this->$country_zones as $country):?>
    <li><?php echo $country['countries']->id;?></li>
<?php endforeach;?> 

错误:

Cannot access empty property...etc

1 个答案:

答案 0 :(得分:1)

我认为你的循环变量有一个拼写错误,它应该是this->country_zones

<?php foreach($this->country_zones as $country):?>
    <li><?php echo $country->id;?></a></li>
<?php endforeach;?>

此外,您的Model不返回数组,而只返回最后一个ID。您需要将值推送到结果数组:

function get_studios()
{
    //this will alphabetize them
    $this->db->order_by('id', 'ASC');

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

    $countries = array();
    foreach ($query->result() as $row) {
        $countries[] = $row;
    }
    return $countries;
}