更新功能代码点火器不保存更改

时间:2016-03-11 07:09:40

标签: php codeigniter sql-update

我在我的代码点火器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;

}

当我打印输入时,它说

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();
            ?>

这是我的表格中我点击编辑的部分

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

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

获取数组中URI的所有段 为此使用此行...

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

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

并使用该特定密钥获取ID或其他内容!!

相关问题