我想在登录后立即显示用户的详细信息。这是我的代码:
---模型---
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 ?>
运行代码后,它什么也没显示
编辑: 所以我想做的是在用户注册后,用户可以登录,登录后用户可以看到他们在注册表单中输入的详细信息。我已经通过了登录会话,现在我想显示用户详细信息
这是我的数据库
答案 0 :(得分:0)
$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)
这将为您提供查询。
查询之后,直接在数据库上运行查询以查看返回的结果
答案 1 :(得分:0)
尝试在您的模型上使用它:
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->row();
}
如果您只想显示1(一个)人的数据,则不需要 foreach 。
在您的视图中执行此操作:
Nama Service : <?= $key->nama_serv; ?>
Nomor Polisi : <?= $key->no_polisi_serv; ?>
Kendaraan : <?= $key->kendaraan_serv; ?>
萨拉姆〜
答案 2 :(得分:0)
我不确定您的数据库设计是什么(如果此答案不能解决问题,请在问题中发布模式的图像),但是您的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')
是保存该用户的会话变量。
答案 3 :(得分:0)
最后知道了。该死的,我花了一整夜才弄清楚
由于我使用电子邮件进行登录,所以应该是
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; ?>
不需要控制器
也感谢所有试图帮助这个白痴的人,非常感谢:)