2013-10-31 50 views
0

我是代码Igniter.i中的新手,想更新特定的行更新。如何更新codeigniter中的特定行?

请帮帮我。

我查看文件

<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方面很新。请帮助我。谢谢

+2

更好地检查文档... –

回答

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有两个重要变量。