我是codeigniter的新手。我需要使用id更新记录。我做了我的部分,但那没有更新。我附上以下代码。我还需要更新图像。我很困惑更新图像。请帮我更新图片。如果你考虑一下这个问题,我会很高兴。
我的观看页面
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header">Update Article</h1>
<?php foreach ($article as $row ) {
}?>
<form action="<?php echo base_url();?>index.php/article/update_save" method="POST" enctype="multipart/form-data" role="form">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title" value="<?php echo $row->art_title; ?>">
<label for="name">Description</label>
<textarea cols="30" rows="10" class="form-control" name="desc"><?php echo $row->art_desc; ?></textarea>
<label for="title">Image</label>
<a href="#" class="thumbnail">
<img src="<?php echo base_url();?>assests/img/<?php echo $row->art_img; ?>"/>
</a>
<input type="file" class="form-control" name="upload">
<br/>
<div align="right">
<input type="submit" class="btn btn-primary" value="Update">
<input type="reset" class="btn btn-danger" value="Reset">
</div>
</div>
</form>
</div>
这是我的控制器
function update_article(){
$id=$this->uri->segment(3);
$data = array();
$data['article'] = $this->article_m->show_update_m($id);
$this->load->view('update_article', $data);
}
function update_save(){
$id=$this->uri->segment(3);
$data_update = array(
'art_title' => $this->input->post('title'),
'art_desc' => $this->input->post('desc')
);
//print_r($data_update);
$this->article_m->do_update_m($id, $data_update);
$this->edit_article();
}
这是我的模特
function show_update_m($id){
$this->db->select('*');
$this->db->from('front_article');
$this->db->where('art_id' ,$id);
$query=$this->db->get();
return $query->result();
}
function do_update_m($id, $data_update){
$this->db->where('art_id', $id);
$this->db->update('front_article', $data_update);
}
答案 0 :(得分:0)
正如我在您的代码中看到的那样,您没有从视图中发送ID:
<form action="<?php echo base_url();?>**index.php/article/update_save**" method="POST" enctype="multipart/form-data" role="form">
那么控制器中的$ id是什么?:
$id=$this->uri->segment(3);
试试这个: 把它放在你的表格中:
<input type="hidden" name="id" value="<?=$row->id?>" />
并通过此获取控制器中的ID:
$id = $this->input->post('id');