【发布时间】:2016-07-03 04:44:56
【问题描述】:
表格
我有 2 个表,Pengguna 和 Mahasiswa,表 pengguna 是包含可以登录网站的用户数据的表,而表 mahasiswa 包含用户数据,例如姓名、电子邮件、电话等等
然后我希望已登录的用户显示其在表mahasiswa 中已存在的凭据信息。假设我使用 username "123" 和 id_pengguna "3" 登录,这意味着 我的名字是 "Mirza" 和 my nim 是 "123" 等等。
问题是如何设置登录用户的会话并从表mahasiswa 中获取用户信息?我所能做的就是显示来自mahasiswa 的第一个表,而不是从登录会话的用户那里获取数据,下面是controller、model 和view
型号
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MProfile extends CI_Model{
function __construct(){
parent::__construct();
$this->load->database();
}
function read($cond, $ordField, $ordType){
if($cond!=null){
$this->db->where($cond);
}
if($ordField!=null){
$this->db->order_by($ordField, $ordType);
}
$query = $this->db->get('mahasiswa');
return $query;
}
}
控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Profil extends MY_Controller {
public function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->library('session');
$this->load->model('MProfile');
}
public function index(){
$data['menu4'] = true;
/*$this->sessionOut();*/
$this->session->userdata('idpengguna');
$data['query'] = $this->MProfile->read(null, 'nim', 'ASC');
$this->load->view('layouts/header');
$this->load->view('profil_page', $data);
$this->load->view('layouts/footer');
}
}
查看
<?php
if(isset($this->session->userdata['logged_in'])){
$nim = $this->session->userdata['loggedin']['nim'];
}
?>
<ul class="category-t">
<?php foreach ($query->result() as $result){}?>
<li><?php echo $result->nim;?></li>
<li><?php echo $result->nama_mahasiswa;?></li>
<li><?php echo $result->email;?></li>
<li><?php echo $result->telepon;?></li>
</ul>
【问题讨论】:
-
简单地使用表连接。
标签: php mysql codeigniter