查看页面,这里的id无法解析这里显示的一些错误,如消息:未定义的变量:行&&消息:试图获取非对象的属性
<form action="<?php echo site_url('Insert_ctrl/update/'.$row->id.'');?>" method="post">
<?php
foreach ($g as $row)
{
?>
<label>ID</label>
<input type="text" name="id" value="<?php echo $row->id;?>"><br>
<label>Name</label>
<input type="text" name="dname" value="<?php echo $row->student_name;?>"><br>
这是我的控制器页面
function edit($id)
{
$data['g'] ="";
$this->load->database();
$this->load->model('Inserts_model');
$data['g'] =$this->Inserts_model->select_row($id);
$this->load->view('update_view', $data);
}
这是我的模型页面
public function select_row($id)
{
$this->db->where('id', $id);
$query = $this->db->get('student');
return $query->result_object();
}
这是另一个控制器功能更新,即在表单执行后执行
function update($id)
{
if(isset($_POST['update']))
{
$data = array
(
'student_name' => $this->input->post('dname'),
'student_email' => $this->input->post('demail'),
'student_mobile' => $this->input->post('dmobile'),
'student_address' => $this->input->post('daddress')
);
$this->Inserts_model->update($data,$id);
redirect('Insert_ctrl/index');
}
}
答案 0 :(得分:0)
如果您要查询单行,则最好使用row_array()
:
return $query->row_array();
然后您将能够访问数组索引,如:
echo $row['id'];
答案 1 :(得分:0)
每当您尝试从数据库获取单个记录时,您应该使用row()
而不是result()
public function select_row($id)
{
$this->db->where('id', $id);
$query = $this->db->get('student');
return $query->row(); //use row() instead of result
}
您的方法名称为edit
,并且您提交了update
方法
<form action="<?php echo site_url('Insert_ctrl/edit/'.$g[0]->id.'');?>" method="post">
如果您使用id
传递input
,则无需使用URL
您应该尝试使用此$this->uri->segment(3);