Codeigniter:如何通过user_id获取用户数据



我对这个代码编写器还是很陌生的。所以我有一个表在我的数据库叫users表和t_lowongan表。t_lowongan表有user_id字段作为users表中id_user的外键。因此,当用户登录并创建招聘启事时,user_id将由该用户的id_user填充。我想获得用户数据,让这个用户知道他已经由该用户创建了哪个职位发布,但数据没有显示,我怎么能修复它??

控制器:

public function lowongan()
{
$this_id = $this->session->userdata('id_user');
$data['t_lowongan'] = $this->db->get_where('t_lowongan', ['user_id', $this_id])->result();
$this->load-view('lowongan', $data);
}

您的调试方法在这里不太合适。首先,您必须理解数据库对象的result()方法返回$row->field(或者在您的示例中是$row->user_id)形式的行对象数组。另一方面,数据库对象的result_array()方法返回数组的数组(在您的示例中为$row['user_id'])。既然您已经使用了前者,我希望您已经在lowongan视图中相应地处理了这些行对象。如果不这样做,可能会导致你在问题中描述的问题。

假设您已经处理了视图,接下来要做的第二件事是放置一个error_log()语句并查看它返回的值。您可以在get_where()语句之后放置这样的内容,然后观察HTTP服务器日志中它获得的值:

error_log("THE RESULT IS: " . print_r($data, true));

根据是否打印正确的值,您可以进一步排除问题所在。

必须创建控制器和模型,并从construct

中调用模型constroller:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class LowonganController extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model(array('m_lowongan'));
}
public function lowongan() {
$id = $this->session->userdata('id_user');
$data['t_lowongan']  = $this->m_lowongan->get_user_by_id($id);
$this->load-view('lowongan', $data);
}
}

模型:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class M_Lowongan extends CI_Model {
public function __construct()
{
parent::__construct();
}
public function get_user_by_id($id)
{
$this->db->where('user_id', $id);
$query  = $this->db->get('your_table_name');
return $query->row_array();
}
}

我所做的是。我在我的模型上创建了一个名为get_data的函数

模型:

public function get_data($where, $table){
return $this->db->get_where($table, $where);
}

在控制器中,我只需要这样做:

The Controller:

public function lowongan()
{
$this_id = $this->session->userdata('id_user');
$data['t_lowongan'] = $this->m_lowongan->get_data($where,'t_lowongan')->result();
$this->load-view('lowongan', $data);
}

并且它有效:D。但请让我知道,如果这是一个错误的事情,谢谢你:D

相关内容

  • 没有找到相关文章

最新更新