
在 codeigniter 中编辑数据时,需让下拉菜单(`
在 CodeIgniter 的表单编辑场景中,常见错误是混淆“选项数据源”和“当前编辑记录”的变量。你提供的原始代码中:
该判断逻辑永远成立(每个 $row 自己等于自己),导致第一个选项始终被选中,无法真实反映数据库中存储的 jurusan 值。
✅ 正确做法是:在控制器中查询并传入当前待编辑的完整记录(例如 $data['data_form'] = $this->model->getById($id);),然后在视图中将 $row->id_jurusan 与 $data_form->id_jurusan 比较:
? 关键要点说明:
主要增加论坛整合,在后台内置网银,快钱支付宝等实时在线支付平台 支付宝支付方式改成在收银台统一支付 并且修改了收到已付款定单后台显示定单确认功能[这功能非常强大,自动确认] 并且增加了商城内短信功能,商城店主可以自由与会员之间实时交谈。 改正给ID添加积分后,登陆到前台,在 MEMBER LOGIN 下面的积分仍然显示为0的问题 修改 订单确认 中 投递&包装方法 没有根据前面的选择而改
- ✅ $data_form->id_jurusan 是从数据库查出的当前记录值(如 3),代表用户上次保存的院系 ID;
- ✅ $row->id_jurusan 是循环中每个可选项的 ID(如 1, 2, 3, 4),用于匹配;
- ✅ 使用 htmlspecialchars() 对输出内容进行转义,防止 XSS 攻击;
- ✅ 推荐用三元运算符替代 if/echo,使模板更简洁、可读性更强;
- ✅ 确保控制器已正确传递数据,例如:
// 在控制器中(如 Admin_controller.php)
public function edit($id) {
$data['jurusan'] = $this->jurusan_model->get_all(); // 所有院系选项
$data['data_form'] = $this->form_model->getById($id); // 当前编辑的记录
$this->load->view('admin/form_edit', $data);
}? 进阶建议:
CodeIgniter 的 form_dropdown() 辅助函数可进一步简化逻辑(需配合数组格式数据):
id_jurusan, 'class="form-control" id="jurusan"'); ?>
其中 $jurusan_options 应为 id => nama_jurusan 形式的关联数组(可用 array_column() 转换)。
正确比对来源数据与当前值,是实现“智能默认选中”的核心——既提升用户体验,也保障表单数据一致性。








