如何在编辑时回显codeigniter中的数据库内容

时间:2010-12-20 10:22:45

标签: codeigniter

如何在编辑(更新)数据库中的条目时获取表单字段内容?

我的控制器是

//edit sidebar contents
function edit_lsidebar(){

        if(isset($_POST['heading'])){
        //adding text fields
        $heading = $this->input->post('heading');
        $content_text = $this->input->post('content_text');
        $url = $this->input->post('url');
        $link_text = $this->input->post('link_text');

        $this->Lside_bar_model->edit_lsidebar($heading, $content_text, $url, $link_text);

        redirect('welcome');
    }
    else $this->load->view('edit_lside_bar', $data);    
}

我的模特是

function edit_lsidebar($heading, $content_text, $url, $link_text){      
    $data = array(
    'heading'=>$heading,
    'content_text'=>$content_text,
    'url'=> $url,
    'link_text' => $link_text
    );

    $this->db->where('id',$this->uri->segment(3));
    $this->db->update('lsidebar', $data);

}

请帮助

1 个答案:

答案 0 :(得分:0)

加载edit_lside_bar视图时,将现有的$ heading,$ content_text,$ url,$ link_text变量与您传递给视图的数据数组一起传递。

然后在视图内部回显这些值作为输入字段的值属性。例如:

在你的控制器内:

else {

$data["lside_bar"] = $this->Lside_bar_model->get_lside_bar($id); 
$this->load->view('edit_lside_bar', $data); 

}

在你的观点中:

<input type="text" name="heading" value="<?php echo $lside_bar->heading; ?>" />
<textarea name="content_text"><?php echo $lside_bar->content_text; ?></textarea>
....

这应该会给你一个很好的推动方向。希望有所帮助!