我想在登录后立即显示用户的详细信息。下面是我的代码:
-模型--
function getDetailsLogin($nama_serv, $no_polisi_serv, $kendaraan_serv, $lokasi_serv, $tgl_serv, $waktu_serv){
$this ->db-> select('id_service, nama_serv, no_polisi_serv, kendaraan_serv','lokasi_serv','tgl_serv','waktu_serv');
$this ->db-> from('service');
$this ->db-> where('nama_serv', $nama_serv);
$this ->db-> where('no_polisi_serv', $no_polisi_serv);
$this ->db-> where('kendaraan_serv', $kendaraan_serv);
$this ->db-> where('lokasi_serv', $lokasi_serv);
$this ->db-> where('tgl_serv', $tgl_serv);
$this ->db-> where('waktu_serv', $waktu_serv);
$query = $this ->db-> get();
return $query->result();
}
-控制器
public function index(){
$data['konsumen']=$this->Mymodel->getDetailsLogin(
'nama_serv',
'no_polisi_serv',
'kendaraan_serv',
'lokasi_serv',
'tgl_serv',
'waktu_serv'
);
$this->load->view('Home/title');
$this->load->view('Home/navbar');
$this->load->view('Konsumen/konsumen',$data);
$this->load->view('Home/footer');
}
-视图
<?php foreach ($konsumen as $key): ?>
<?php echo $key->nama_serv; ?><br>
<?php echo $key->no_polisi_serv; ?><br>
<?php echo $key->kendaraan_serv; ?><br>
<?php endforeach ?>
在我运行代码后,它没有显示任何内容
编辑:所以我想做的是在用户进行注册后,用户可以登录,登录后用户可以看到他们在注册表中输入的详细信息。我已经通过了登录会话,现在我想显示用户详细信息
这是我的数据库
发布于 2019-05-08 11:30:00
$data['konsumen']=$this->Mymodel->getDetailsLogin(
'nama_serv',
'no_polisi_serv',
'kendaraan_serv',
'lokasi_serv',
'tgl_serv',
'waktu_serv'
);
在这个函数中,你不需要给出值吗?看起来您向函数发送的是列的名称,而不是要查询的值
您可以在之后尝试
$query = $this ->db-> get();
要添加
$str = $this->db->last_query();
die($str)
这将为您提供查询。
之后,查询直接在数据库上运行,以查看它返回的结果
发布于 2019-05-08 14:08:08
我不确定你的数据库设计是什么(如果这个答案不能解决这个问题,请在你的问题中发布一个模式的图像),但是你的where
语句似乎没有用,例如nama_serv = 'nama_serv'
。
我想你想要的是:
function getDetailsLogin(){
$this->db->select('id_service, nama_serv, no_polisi_serv, kendaraan_serv','lokasi_serv','tgl_serv','waktu_serv');
$this->db->from('service');
$this->db->where('primary_key_field', $this->session->userdata('id'));
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->row(); // because you just want 1! no foreach required in view.
}
return false; // this should never have happened as the user is supposed to be logged in and have a valid session id.
}
其中,primary_key_field
是当前用户的唯一标识符,userdata('id')
是保存该标识符的会话变量。
发布于 2019-05-09 11:15:48
终于明白了。可恶,我花了一整晚才弄明白
既然我使用电子邮件登录,那么它就应该是
function getDetailsLogin(){
$this ->db-> select('*');
$this->db->from('service');
$this->db->where('email_serv', $this->session->userdata('email_serv'));
$query = $this ->db->get()->row();
return $query;
}
之后,我在视图中调用它
<?php echo $this->Mymodel->getDetailsLogin()->nama_serv; ?>
不需要控制器
也感谢每个试图帮助这个笨蛋的人,真的很感激:)
https://stackoverflow.com/questions/56032981
复制相似问题