您好我在codeigniter中的用户个人资料页面有问题。 所以这是我的用户控制器:
<?php
class User extends CI_Controller {
function users() {
parent::user();
}
function index($id = null) {
if($id == null) {
redirect('/', 'refresh');
}
else {
$data['title'] = 'User Page';
$data['result'] = $this->users_model->get_user_info();
$data['id'] = $id;
$data['main_content'] = "main/profile_view" ;
$this->load->view('home',$data);
}
}
}
?>
这是模型中的功能:
public function get_user_info(){
$this->db->where('id' , 'id');
$q = $this->db->get('users');
if ($q->num_rows > 0) {
return $q->result();
} else {
return false;
}
}
这是路线档案:
$route['user/(:any)'] = "user/index/$1";
i get this error in localhost/cc/user/1
Fatal error: Call to a member function get_user_info() on null in C:\xampp\htdocs\cc\application\controllers\user.php on line 12
我想知道如何在视图中显示用户数据
答案 0 :(得分:0)
在您的控制器中我想这一行:
$data['result'] = $this->users_model->get_user_info();
应该是:
$data['result'] = $this->users_model->get_user_info($id);
在您的模型中:
public function get_user_info(){
$this->db->where('id' , 'id');
应该是这样的:
public function get_user_info($id){
$this->db->where('id' , $id);
// =================下一个问题
我试过了,但是当我在用户/之后输入一个不存在的id。 ,它显示配置文件vue
是的,我打算将它包装在IF中然后变得懒惰 - 这是单向的 检查结果是否没有返回 - 所以在你检查$ id是否为NULL之后 - 如果$ data ['result']没有从模型返回,那么转到showUserNotFound($ id)之类的方法。elseif ( ! $data['result'] = $this->users_model->get_user_info($id) ){
$this->showUserNotFound($id); }
else { $data['title'] = 'User Page';
$data['id'] = $id;
$data['main_content'] = "main/profile_view" ;
$this->load->view('home',$data); }