【问题标题】:Codeigniter : How to get ID from URL [duplicate]Codeigniter:如何从 URL 获取 ID [重复]
【发布时间】:2023-03-24 22:59:02
【问题描述】:

我想问,如何从 URL 将 ID 发布到数据库,我可以在最后一个 url 中看到这个 ID。 我的网址:

http://localhost/rekammedis/index.php/pasien/tambah_rm/3

我正在使用 uri 获取 $id_pasien 值,但是当我发布到数据库时,该值是 null/empty 未发布。

我的模型:

function tambahrm($id)
{
    $this->load->helper('url');
    $username = trim($this->session->userdata('id'));
    $id_pasien = $this->uri->segment(3);
    $data = array(
        'tgl_berobat' => $this->input->post('tgl_berobat'),
        'anamnesa' => $this->input->post('anamnesa'),
        'diagnosa' => $this->input->post('diagnosa'),
        'therapi' => $this->input->post('therapi'),
        'keterangan' => $this->input->post('keterangan'),
        'id_user' => $username,
        'id_pasien' => $id_pasien,
    );

    if ($id == 0) {
        return $this->db->insert('tbl_riwayat', $data);
    } else {
        $this->db->where('id', $id);
        return $this->db->update('tbl_riwayat', $data);
    }
}

这是结果: Id_pasien remains unfilled.

【问题讨论】:

  • 尝试放置 echo 以确保您从 url 获取值...通过引用 codeigniter url 结构,它将分配给函数参数本身...所以检查 $id 是否得到价值与否。
  • 你在这里发送什么函数 tambahrm($id)
  • 该代码的一半应该在控制器中。模型不应该与输入类合作,而是从控制器接收变量。将其放入模型中会得到什么:exit($this->uri->segment(3));

标签: php codeigniter codeigniter-3


【解决方案1】:

如果您使用 URI 路由,您还可以检索有关重新路由段的信息:

$this->uri->segment(n);

其中 n 是您要检索的段号。

在你的情况下是:

$this->uri->segment(3);

【讨论】:

  • 数据库中仍为 null
  • 您是否尝试在插入之前打印它以查看您获得的价值?
  • @Just_Do_It 错了。第一段是index.php 之后的第一段。所以 3 是最终答案。
猜你喜欢
  • 2014-02-06
  • 2016-10-28
  • 2021-11-05
  • 2023-03-27
  • 2015-09-07
  • 1970-01-01
  • 2019-02-20
  • 2016-10-25
  • 2018-10-28
相关资源
最近更新 更多