2016-09-09 3 views
0

データベースからレンダリングしたページ情報を作成しようとしています。codeigniterデータベース情報ここでコントローラ

私は、データベースがあります。

page | title | description 
main | Welcome | This is the main page 

コントローラはこのページに表示するデータを取得し、レンダリングするために

class Main extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('url', 'html', 'assets')); 
     $this->load->model('pages_model'); 
    } 

    public function index() { 

     // This is a page variable 
     // in this case it will be "main" 
     $page = strtolower(basename(__FILE__, '.php')); 


     // Page data 
     $data['pg'] = $this->pages_model->page(); 

     // Render 
     $this->load->view('templates/header', $data); 
     $this->load->view('pages/main', $data); 
     $this->load->view('templates/footer', $data); 
    } 

} 

それから私は、特定のページのために

Class Pages_model extends CI_Model { 

     function page() 
     { 
      $query = $this->db->select('*')->where('page', $page)->get('pages'); 
      return $query->result(); 
     } 

    } 

をデータをフェッチしようとするモデルしかし、私エラー "undefined variable $ page in model"を取得します。どうすれば修正できますか?

答えて

2

"$ page"をモデルに渡すことができませんでした。あなたのコードは以下のように更新します。コントローラで

// Page data 
     $data['pg'] = $this->pages_model->page($page); 

とモデル

function page($page) 
+0

これは役立ちますが、どのように私はその後、表示するデータを渡すのですか? –

+0

が見つかりました。 modet iでreturn $ query-> row();をセットします。私は$ pg-> columnを使用しています –

関連する問題