首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在codeigniter中登录后显示活动用户的详细信息

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

Stack Overflow用户
提问于 2019-05-08 11:09:54
回答 3查看 359关注 0票数 -1

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

-模型--

代码语言:javascript
复制
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();
    }

-控制器

代码语言:javascript
复制
    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');
    }

-视图

代码语言:javascript
复制
  <?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 ?>

在我运行代码后,它没有显示任何内容

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

这是我的数据库

EN

回答 3

Stack Overflow用户

发布于 2019-05-08 11:30:00

代码语言:javascript
复制
$data['konsumen']=$this->Mymodel->getDetailsLogin(
            'nama_serv', 
            'no_polisi_serv', 
            'kendaraan_serv', 
            'lokasi_serv', 
            'tgl_serv', 
            'waktu_serv'
        );

在这个函数中,你不需要给出值吗?看起来您向函数发送的是列的名称,而不是要查询的值

您可以在之后尝试

代码语言:javascript
复制
    $query = $this ->db-> get();

要添加

代码语言:javascript
复制
$str = $this->db->last_query();
die($str)

这将为您提供查询。

之后,查询直接在数据库上运行,以查看它返回的结果

票数 0
EN

Stack Overflow用户

发布于 2019-05-08 14:08:08

我不确定你的数据库设计是什么(如果这个答案不能解决这个问题,请在你的问题中发布一个模式的图像),但是你的where语句似乎没有用,例如nama_serv = 'nama_serv'

我想你想要的是:

代码语言:javascript
复制
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')是保存该标识符的会话变量。

票数 0
EN

Stack Overflow用户

发布于 2019-05-09 11:15:48

终于明白了。可恶,我花了一整晚才弄明白

既然我使用电子邮件登录,那么它就应该是

代码语言:javascript
复制
    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;
    }

之后,我在视图中调用它

代码语言:javascript
复制
<?php echo $this->Mymodel->getDetailsLogin()->nama_serv; ?>

不需要控制器

也感谢每个试图帮助这个笨蛋的人,真的很感激:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56032981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档