如何在Codeigniter中执行编辑操作?

时间:2016-06-21 03:55:57

标签: php codeigniter

控制器

class Demoexpe extends CI_Controller {
 public function index() {
        $data = array(
            'page_title' => 'Data',
            'page_name' => 'expendituretable/demoexpe_list',
        );
$data['display'] = $this->demoexpe_model->displaylist();
$this->load->view('admin/template', $data);
}

public function edit($id) {
  $data = array(
            'page_title' => 'Edit Expedata',
            'page_name' => 'expendituretable/demoexpe_edit'

        );
        $data['result']= $this->demoexpe_model->get_id($id);
         $this->load->view('admin/template', $data);
}
}

模型

 class Demoexpe_model extends CI_Model {
public function displaylist(){
        $this->db->select('*');
        $this->db->from('expendituredata');
        $this->db->join('year','expendituredata.yearId = year.id');
          $this->db->join('speces','expendituredata.spacesId = speces.id');
        return $this->db->get()->result_array();
    }

    public function get_id($id){
         return $this->db->get_where('expendituredata', array('id' => $id))->row_array();
    }
} 

查看

下面是编辑页面。

<?php echo form_open('Admin/Demoexpe/edit'); ?>
    <label>Data</label>
     <input type="text" class="form-control" name="data" value="<?php echo $result['data']; ?>">
    <?php echo form_close();?> 

我的问题:我点击编辑按钮,但无法显示文本字段值,无法更新文本字段值?

1 个答案:

答案 0 :(得分:0)

在模型中的get_id()函数中,您还可以传递您尝试访问的表的列名。下面的函数根据参数从数据库中返回结果,否则它将返回FALSE。

public function get_id($id,$column_name){
    return $this->db->get_where($column_name, array('id' => $id));
    $query = $this->db->get('expendituredata e');
    $row = $query->row();

    if ($row)
        return $row->{$column_name};

    return FALSE;
}

然后在您的视图中,您可以直接访问返回的数据。

<?php echo form_open('Admin/Demoexpe/edit'); ?>
<label>Data</label>
 <input type="text" class="form-control" name="data" value="<?php echo $result; ?>">
<?php echo form_close();?>