如何更新codeigniter中的特定行?

时间:2013-10-31 14:25:09

标签: php mysql codeigniter

我是Code Igniter的新手。我想在更新时更新特定的行。

请帮帮我。

我的观看文件

<div id="wrapper">
<div id="form">
<?php $query=$this->mod1->about_display()?>
<?php if($query){  ?>
<?php   echo form_open('textarea/update_testimonial');   ?>
 <?php foreach($query as $row){ ?>
 <textarea name="update"><?php echo  $row->testi; ?></textarea>
 <input type="submit" name="sub" value="UPDATE" />
 </form>
 <?php } 

    }
?>
</div>
 </div>

我的控制器文件

function update_testimonial(){

   $id = $this->input->get('id');
   $this->load->model('mod1');
   $this->mod1->about_display($id);


}

我的模型文件

   function about_display(){
 $id = $this->input->get('id'); 
$query=$this->db->where('id', $id);
    $this->db->get('testimonials');
    if($query->num_rows()>0){
        return TRUE;
    }else{
        return FALSE;
    }

}

请给我一个简单的例子,这样我就可以做到。我是CI的新人。请帮帮我。谢谢

1 个答案:

答案 0 :(得分:1)

控制器:

function update_testimonial(){
   $update = $this->input->post('update', True); 
   $id = (int) $this->input->get('id', False); ### THIS MAY need to be a $this->input->post()
   $this->load->model('mod1');
   $this->mod1->update_display($update, $id);
}

型号:

function update_display($update, $id) {
   $this->load->database(); 
   $this->db->where('id', $id); 
   $update = array('testi', $update); 
   $this->db->update('testimonials', $update);
}

基本上,您从表单中提取$_POST变量,将其发送到模型,然后使用Codeigniter的$this->db->update()函数更新该单行。您可以考虑在表单中添加<form type="hidden" name="id" />,以便通过POST输入两个重要变量。