You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter技术问题:如何根据user_id显示用户创建的招聘职位?

解决CodeIgniter中用户无法查看自身创建招聘职位的问题

嘿,我来帮你搞定这个问题!先看你贴的Lowongan控制器代码,有两个关键小错误直接导致了数据无法显示,咱们一步步修正:

1. 数据库查询参数格式错误

你用$this->db->get_where()的时候,第二个参数传的是索引数组['user_id', $this_id],但CodeIgniter要求这里必须是键值对形式的关联数组,这样框架才能正确识别“字段名=值”的查询条件。

错误写法:

$data['t_lowongan'] = $this->db->get_where('t_lowongan', ['user_id', $this_id])->result();

正确写法:

$data['t_lowongan'] = $this->db->get_where('t_lowongan', ['user_id' => $this_id])->result();

2. 视图加载的语法错误

你写的$this->load-view('lowongan', $data);里,load和view之间应该用箭头->而不是减号-,这个语法错误会直接阻止视图加载,甚至抛出PHP错误。

修正后:

$this->load->view('lowongan', $data);

修正后的完整控制器代码

public function lowongan()
{
    $this_id = $this->session->userdata('id_user');
    // 修正get_where的参数格式
    $data['t_lowongan'] = $this->db->get_where('t_lowongan', ['user_id' => $this_id])->result();
    // 修正视图加载的语法
    $this->load->view('lowongan', $data);
}

额外排查建议

如果修正后还是看不到数据,可以试试这些步骤:

  • 先确认会话里的用户ID是否正确:在控制器里加一行var_dump($this_id); exit;,看看输出的是不是当前登录用户的id_user,确保session正常工作。
  • 检查数据库数据:手动执行SQL语句SELECT * FROM t_lowongan WHERE user_id = [你的用户ID],确认数据库里确实存在该用户创建的招聘职位。
  • 核对字段类型:确保t_lowongan表的user_id字段和users表的id_user字段类型一致(比如都是INT类型),避免因类型不匹配导致查询无结果。

内容的提问来源于stack exchange,提问作者Nicho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 18:50:29