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

CodeIgniter表格编辑跳转对应ID页面及详情加载问题咨询

问题1:跳转链接失效修复

原因:你已经用?>结束了PHP代码块,a标签里的'.$row->id.'属于普通HTML文本,不会被PHP解析执行,实际生成的链接会是contacts/edit/'.$row->id.'而非带真实ID的地址。
修复后的视图(index.php)代码:

<?php foreach($records as $row ): ?>
<tr>            
  <td><?= $row->refno ?></td>
  <td><?= $row->display_name ?></td>                  
  <td>
    <!-- 用<?= 短标签输出ID,环境不支持短标签可替换为<?php echo $row->id; ?> -->
    <a href="contacts/edit/<?= $row->id ?>">
      <span class="sr-only">edit</span>
    </a>
  </td>
  <td></td>
</tr>
<?php endforeach; ?>

问题2:编辑页展示指定ID联系人数据实现

分三步完成:

  • 第一步:在模型类新增按ID查询联系人详情的方法
function get_record_by_id($id){
    $this->db->select("*");
    $this->db->from("contacts");
    $this->db->where("status='Y'");
    $this->db->where("id", $id);
    $query = $this->db->get();
    // 查到返回单条对象,没查到返回空
    return $query->row();
}
  • 第二步:修改控制器的edit方法,接收ID参数、查询数据并传给视图
public function edit($id='')
{
    // 校验ID合法性,为空或者非数字直接跳转回列表页
    if(empty($id) || !is_numeric($id)){
        redirect('contacts/lists');
    }
    // 调用模型查询对应ID的联系人数据
    $main['contact'] = $this->contacts_model->get_record_by_id($id);
    // 数据不存在也跳转回列表
    if(empty($main['contact'])){
        redirect('contacts/lists');
    }
    $main['page'] = 'crm/contacts/edit';
    $this->load->view('crm/index',$main);
}
  • 第三步:在contacts/edit视图文件里渲染数据
    直接通过$contact变量读取字段即可,示例:
<!-- 示例输出字段,可根据实际需求扩展 -->
<div>
  <p>编号:<?= $contact->refno ?></p>
  <p>显示名称:<?= $contact->display_name ?></p>
  <!-- 其他字段同理输出即可 -->
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:48:01