2016-03-11 37 views
1

嗨,我在我的代码点火器hmvc项目中编辑此功能。我得到了我想要编辑的东西的价值,并将其发布到我想要的文本框中。但是,我无法保存更改。我的模型是这样的,更新功能代码点火器不保存更改

public function update(){ 

    $sql = "UPDATE $this->table SET PROVINCE = ? WHERE PROV_ID = ?"; 
    $input = array(
      'PROVINCE' => $this->input->post('PROVINCE'), 
      'PROV_ID' =>$this->uri->segment(3) 
      ); 

    // print_r($input); 
    // exit; 
    $query = $this->db->query($sql, $input); 
    return $query; 

} 

当我print_r的输入,它说

Array ([PROVINCE] => Province [PROV_ID] =>) 

我想不明白的URI值。我怎样才能解决这个问题?

这里是我的控制器

/// EDIT 

    public function update(){ 

     $data['content'] = $this->Provinces_Model->getrow(); 
     $data['content_view'] = 'Provinces/edit_view'; 
     $this->templates->admin_template($data); 

    } 

    public function update_row(){ 


     if($this->Provinces_Model->update()){ 
      redirect('Provinces/index'); 
     }else{ 
      $this->update(); 
     } 

    } 

} 

这里是我的完整模型

////编辑

public function getrow(){ 

    $this->db->where('PROV_ID', $this->uri->segment(3)); 
    $query = $this->db->get($this->table); 
    return $query->row(); 

} 
public function update(){ 

    $sql = "UPDATE $this->table SET PROVINCE = ? WHERE PROV_ID = ?"; 
    $input = array(
      'PROVINCE' => $this->input->post('PROVINCE'), 
      'PROV_ID' =>$this->uri->segment(3) 
      ); 

    // print_r($input); 
    // exit; 
    $query = $this->db->query($sql, $input); 
    return $query; 

} 

这里是我的编辑视图

  <?php 

       echo form_open('Provinces/update_row'); 
      ?> 

      <p> 
       <label class="field" for="PROVINCE"><span>*</span>Province Name:</label> 
       <input type = "text" name="PROVINCE" class ="textbox-300" value= "<?php echo $content->PROVINCE; ?>"> 
       <label class = "error"><?php echo form_error("PROVINCE"); ?></label> 
      </p> 

      <?php 
       echo form_submit('submit','Update'); 
       echo form_close(); 
      ?> 

这里我所在的桌子的一部分ICK编辑

<td><?php echo anchor("Provinces/update/$i->PROV_ID","<i class='fa fa-edit'>"); ?></td> 
+0

'PROV_ID'=> $ this-> uri-> segment(3)< - 检查此值。可能是空的 – WRDev

+0

尝试“$ this-> db-> where('PROV_ID',$ this-> uri-> segment(2));”并检查.. – Kunal

+0

我总是在uri细分市场,但我有我的uri价值。 –

回答

1

试试这个

public function update() { 

    $input = array(
     'PROVINCE' => $this->input->post('PROVINCE'), 
     'PROV_ID' =>$this->uri->segment(3) 
    ); 

    $this->db->where('prov_id',$input['PROV_ID']); 
    $this->db->update('province',$input); 
} 
+0

说UPDATE省设置PROVINCE ='省a',PROV_ID = NULL其中prov_id是NULL - –

+0

$ this-> db-> where('prov_id',$ input [ 'PROV_ID']); < - 编辑此行 但是,此代码是指南 – WRDev

0

得到URI的所有部分在数组 对于使用该行...

$segs = $this->uri->segment_array(); 

foreach ($segs as $segment) 
{ 
    echo $segment; 
    echo '<br />'; 
} 

,并使用特定的关键得到身份证或其他东西!