簡體   English   中英

CodeIgniter致命錯誤:調用非對象上的成員函數display_clients()

[英]CodeIgniter fatal error: Call to a member function display_clients() on a non-object

我正在編寫一個基本上可以處理數據庫的程序,但是我在某些功能上遇到了麻煩,這是應該做的

public function clist() {
$this->load->model('list_model');
$fields = $this->list_model->listcli();
if ($fields === $this->list_model->listcli()) {
    $fieldl = $fields;
    $this->load->view('clientlist');
    $this->clientlist->display_clients($fieldl);
}

}

這將加載如下所示的模型:

public function listcli()
{
 $this->db->list_fields('clients');
}

}

然后運行模型函數listcli以便它將列出客戶端數據庫中的所有字段並將值放入$fields ,然后將其fieldl並加載一個將顯示數據的視圖,該視圖如下所示:

<html>
<body>
<p> sup </p>
<?php

 function display_clients($fieldl)
 {

        ?>
        <html>
            <body>
            <p> sup2 </p>
                <ul>
                <?php
                foreach ($fieldl as $l) {
                ?>
                <li> 
                    <?php echo $l;?>
                </li>
                <?php
                }
    }

然后在視圖內調用該函數,並將數據從$fieldl傳遞到該視圖中。

但是我收到錯誤“在第40行的/codeigniter/src/application/controllers/clientlist.php中的非對象上調用成員函數display_clients()”

40行是

$this->clientlist->display_clients($fieldl);

你能幫我嗎? 謝謝,麻煩您了。

(我知道這種問題以前曾被問過,但它們總是非常針對手頭的代碼,因此對我沒有幫助,對於CodeIgniter來說我真的很陌生,因此,如果您能保持相對簡單的答案,我將不勝感激。)

為什么不能在控制器中准備列表,然后通過$data數組將其傳遞給視圖?

$my_list = '<ul>';
foreach ($fieldl as $l) {
$my_list .= '<li>'.$l.'</li>';
}
$my_list .= '</ul>';

$data['my_list'] = $my_list;

那么您可以在視圖中以$my_list對其進行訪問。 只需在需要時回顯它即可。

編輯:按照您自己的答案,是的-完全是。 使用上面的示例,您將傳遞$data作為第二個參數進行查看:

$this->load->view('my_view',$data);

然后在視圖中,以$my_list訪問$data['my_list'] ,以$foo等訪問$data['my_list'] $data['foo']

我需要使用第二個參數將數據傳遞到視圖中,而不是自己的臨時解決方案,CI接受一個對象作為CI_Loader :: view()的第二個參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM