1

私はコントローラーからビューにそのように渡そうとしています...

public function playerslist()
    {
        $this->load->database();
        $data = $this->db->get('skaters');
        $this->load->helper('url');
        $this->load->view('playerslist', $data);
    }

そして私の見解では...

<?php echo $data; ?>

しかし、私はこのエラーを受け取ります...

PHPエラーが発生しました

重大度:通知

メッセージ:未定義の変数:データ

ファイル名:views / playerslist.php

行番号:76

私は何が間違っているのですか?

このデータでやりたいことは、foreachステートメントに入れられ、$data配列にすべてを表示します

foreach($data as $value => $key){
echo $key . "<br/>";
}

ありがとう、J

4

2 に答える 2

7

$dataビューから直接アクセスすることはできません。$dataビューに渡すのは連想配列である必要があります。次に、キーがビュー内の変数に変換されます。

例えば:

$data = array(
    'name' => 'John',
    'bars' => 23
);

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

次に、ビューでは、それらは変数に変換されます。

<?php echo $name; ?> has <?php echo $bars; ?> bars of chocolate.

元の形式でデータにアクセスする場合は、それを連想配列に渡します

$data = $this->db->get('skaters')->result();
$this->load->view( 'playerslist', array('data' => $data) );
于 2013-01-11T01:44:37.417 に答える
1

あなたの質問とサンプルコードに基づいて、テーブル「スケーター」からデータを取得して表示したいと思います。

$this-> db-> get ('skaters'); //not return result object or array

コードを変更する必要があります

$ this-> db-> get ('skaters') -> result (); // return object

また

$ this-> db-> get ('skaters) -> result_array (); //return array

このリンクを確認してくださいhttp://ellislab.com/codeigniter/user-guide/database/results.html

データは、ビューの読み込み関数の2番目のパラメーターで、配列またはオブジェクトを介してコントローラーからビューに渡されます。次に、codeigniterは「extract」関数http://php.net/manual/en/function.extract.phpを使用して2番目のパラメーターを抽出します

public function playerslist ()
     {
         $ this-> load-> database ();
         $ data = $ this-> db-> get ('skaters') -> result ();
         $ this-> load-> helper ('url');
         $ this-> load-> view ('playerslist', array ('data' => $ data));
     }
于 2013-01-11T02:09:59.347 に答える