数据库查询显示在视图中而不是$ data

时间:2012-02-11 02:03:39

标签: php codeigniter

下面的代码似乎显示在“视图”中而不是$data,因为它应该是(我还没有在我的视图中回显$data['companyName'],但$data['pageTitle']工作正常)。

问题:

enter image description here

型号:

function companyName()
    {
        $companyName = $this->db->query("SELECT company_name FROM core");

        if ($companyName->num_rows() > 0)
        {
            foreach ($companyName->result() as $row)
            {
                echo $row->company_name;
            }
        }

控制器:

public function index()
{
    $data['companyName'] = $this->core_model->companyName();
    $data['pageTitle'] = "Admin Login";
    $this->load->view('admin/assets/header', $data);
    $this->load->view('admin/login.php');
    $this->load->view('admin/assets/footer');
}

1 个答案:

答案 0 :(得分:2)

通过echo模型中的某些内容,echo在处理模型时发生,这在视图甚至在控制器眼中闪烁之前就已经过了。

相反,你应该在你的模型中做这样的事情:

function companyName()
{
    $companyName = $this->db->query("SELECT company_name FROM core");

    if ($companyName->num_rows() > 0)
    {
        $company_names = '';
        foreach ($companyName->result() as $row)
        {
            $company_names .= $row->company_name;
        }
    }
    return $company_names;
}

然后你可以将$data传递到视图中,字符串就可以像你想要的那样回显。