2015-09-04 350 views
1

我是CodeIgniter的新手。當我嘗試用控制器和視圖和模型傳遞數據,我有這樣的:

Syntax error: Unexpected '$data'(T_VARIABLE) in c:\xampp\htdocs\ci\application\controllers\users.php on line 10

這裏是我的控制器users.php代碼:

<?php 
class Users extends CI_Controller 
    { 
     public function show() 
      { 
       $data['results']=$this->user_model->get_users(); 
       $this->load->view('user_view',$data); 
      } 
    } 
?> 

在views文件夾user_view.php代碼:

<body> 
<?php 
foreach($results as $object){ 
    echo $object->username; 
} 
?> 
</body> 

在型號文件夾user_model.php代碼

<?php 
class User_model extends CI_Model 
    { 
     public function get_users() 
      { 
       $query=$this->db->get('users'); 
       return $query->result(); 
      } 
    } 
?> 

我該如何解決這個錯誤?

回答

1

爲什麼你的錯誤說c:\xampp\htdocs\ci\application\users.php應該不是一直C:\ XAMPP \ htdocs中\ CI \應用\controller \ users.php`

+0

好趕上 – Linus

+0

感謝您的回覆。我糾正了它。仍然有相同的錯誤。 –

0

在你的控制器

public function show() 
{ 
    $data['results']=$this->user_model->get_users(); 
    $this->load->view('user_view',$data); 
} 

在模型中

public function get_users(){ 
    $query=$this->db->get('users'); 
    $result = $query->result_array(); //added 
    return $result; //added 
} 

鑑於

<body> 
<?php 
    foreach($results as $new_results) //changed 
    { 
     echo $new_results['username']; //changed 
    } 
?> 
</body> 
+0

感謝您的評論。我檢查了它。但有同樣的錯誤。 –

+0

最新錯誤? –

+0

錯誤是:嚴重性:解析錯誤;消息:語法錯誤,意外的'$ data'(T_VARIABLE);文件名:controllers/users.php –

0

您試圖在您的視圖訪問錯誤ARRAY。 在您的控制器陣列中是$data['results']而不是$data['result']。所以你需要在foreach循環中訪問$results

在你從

foreach($result as $object){ 

view更改爲

foreach($results as $object){ 
+0

感謝您的意見。我改變了它,但仍然有相同的錯誤。 –

0

使用$results在foreach循環和檢查

+0

感謝您的評論。我改變了它,並嘗試但仍然有相同的錯誤。 –

0

首先,你必須加載模型:

$this->load->model('User_model','user_model'); 

然後你可以使用在該模型中定義的函數:

$this->user_model->get_users(); 
0

你在你的代碼多了一個錯誤,即你沒有加載功能

更新你的代碼中加入下面一行顯示的第一線模型()函數

$this->load->model('user_model'); 
相關問題