登录codeigniter后显示活动用户的详细信息

时间:2019-05-08 03:09:54

标签: php codeigniter

我想在登录后立即显示用户的详细信息。这是我的代码:

---模型---

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 ?>

运行代码后,它什么也没显示

编辑: 所以我想做的是在用户注册后,用户可以登录,登录后用户可以看到他们在注册表单中输入的详细信息。我已经通过了登录会话,现在我想显示用户详细信息

这是我的数据库

4 个答案:

答案 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; ?>

不需要控制器

也感谢所有试图帮助这个白痴的人,非常感谢:)