2013-05-01 82 views
3

我不明白为什么这不会将数据库值放在页面上。你能告诉我我在做什么这个代码错了吗?我是CodeIgniter的新手,这是我第一次尝试将数组从模型传递给控制器​​来查看。CodeIgniter - 无法传递数组以查看

控制器代码:

public function showuser(){ 
     $id = $this->uri->segment(3); 
     $this->load->model('user_model'); 
     $data['user']= $this->user_model->view_user($id);  
     $this->load->view('include/header'); 
     $this->load->view('user_view',$data); 
     $this->load->view('include/footer'); 
} 

型号代码:

public function view_user($id){ 
     $this->db->where('userid', $id); 
     $query = $this->db->get('users'); 
     return $query->result(); 
} 

查看代码:

<table width="300" border="0" cellpadding="2"> 
    <tr> 
    <td width="143">First Name</td> 
    <td width="143"><?php echo $data['user']->firstname; ?></td> 
    </tr> 
    <tr> 
    <td>Last Name</td> 
    <td><?php echo $data->lastname; ?></td> 
    </tr> 
    <tr> 
    <td>Company</td> 
    <td><?php echo $data->company; ?></td> 
    </tr> 
    <tr> 
    <td>Email</td> 
    <td><?php echo $data->email; ?></td> 
    </tr> 
    <tr> 
    <td>Phone</td> 
    <td><?php echo $data->phone; ?></td> 
    </tr> 
    <tr> 
    <td><p>Fax</p></td> 
    <td><?php echo $data->fax; ?></td> 
    </tr> 
    <tr> 
    <td>Address 1</td> 
    <td><?php echo $data->address1; ?></td> 
    </tr> 
    <tr> 
    <td><p>Address 2</p></td> 
    <td><?php echo $data->address2; ?></td> 
    </tr> 
    <tr> 
    <td>Address 3</td> 
    <td><?php echo $data->address3; ?></td> 
    </tr> 
    <tr> 
    <td>City</td> 
    <td><?php echo $data->city; ?></td> 
    </tr> 
    <tr> 
    <td>State/Region/Province</td> 
    <td><?php echo $data->state; ?></td> 
    </tr> 
    <tr> 
    <td>Postal Code</td> 
    <td><?php echo $data->zipcode; ?></td> 
    </tr> 
    <tr> 
    <td>Username</td> 
    <td><?php echo $data->username; ?></td> 
    </tr> 
    <tr> 
    <td>Account Type</td> 
    <td><?php echo $data->usertype; ?></td> 
    </tr> 
</table> 

回答

3

你并不需要使用可变$data您的视图中。通过$data阵列按键只需直接打印变量,例如,$user->firstname等 更多的观点:http://ellislab.com/codeigniter/user-guide/general/views.html

另外,我觉得你应该有返回$query->row(),不$query->result()你的模型里,因为它越来越只是一个数据用户。

+0

这样做!谢谢你的帮助! – jfur7 2013-05-01 07:44:14

0

另一种方式是使用 的foreach ($用户为$ U)和打印等$ U [ '姓名']等在PHP标签。