douzhan1031 2016-08-16 03:24
浏览 28

更新CodeIgniter中的唯一数据时出错

I'm using CodeIgniter. I can't update data, because I make the database field is unique.

My controller:

function simpanadditional(){
   $this->form_validation->set_rules('nama','Nama Additional','trim|required');
    $this->form_validation->set_rules('harga','Harga Additional','required');
    if($this->form_validation->run() == FALSE){
        redirect('tambah-additional','refresh');
    }else{
        $cek = $this->my_model->ceknamadditional($this->input->post('nama'));
        if(count($cek) > 0){
            $this->session->set_flashdata('message','nama tidak boleh sama');
            redirect('tambah-additional','refresh');
        }else{
            $this->my_model->simpanadditional();
            redirect('admin/tabel_additional','refresh');
        }   
    }
}

function editadditional($id){
    if($this->session->userdata('logged_in'))
    {
        $session_data = $this->session->userdata('logged_in');
        $data['username'] = $session_data['username'];
        $data['title'] = 'Edit Additional';
        $data['main'] = 'admin/additional/form_edit_additional';
        $data ['getdata'] = $this->my_model->editadditional($id);
        $data['getgroup'] = $this->my_model->editgroup($session_data['username']);
        $this->load->view('admin/index',$data);
    } else {
        redirect('admin/login', 'refresh');
    }
}

My model:

function simpanadditional(){
    $data = array(
        'nama_additional'   => $this->input->post('nama'),
        'harga_additional'  => $this->input->post('harga'),
        );
    if($this->input->post('id')){
        // ini untuk update nya
        $this->db->where('id_additional',$id);
        $this->db->update('additional',$data);
    }else{
        // ini untuk insert nya
        $this->db->insert('additional',$data);
    }

}

function editadditional($id){
    $data = array();
    $this->db->select('*');
    $this->db->from('additional');
    $this->db->where('id_additional',$id);
    $hasil = $this->db->get();
    if($hasil->num_rows() > 0){
        $data = $hasil->result();
    }

    $hasil->free_result();
    return $data;
}

This is views of form additional:

 <div class="item form-group">
      <label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">Nama <span class="required">*</span>
      </label>
      <div class="col-md-6 col-sm-6 col-xs-12">
        <input id="name" class="form-control col-md-7 col-xs-12" data-validate-length-range="6" data-validate-words="2" name="nama" value="<?php echo $data->nama_additional ?>" type="text">
        <input type="hidden" name="id" value="<?php echo $data->id_additional ?>">
      </div>
</div>
<div class="item form-group">
  <label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">Harga <span class="required">*</span>
  </label>
   <div class="col-md-6 col-sm-6 col-xs-12">
  <input id="icon" class="form-control col-md-7 col-xs-12" data-validate-length-range="6" data-validate-words="2" 
  name="harga" value="<?php echo $data->harga_additional ?>" type="text"  onkeypress="return isNumberKey(event)">
  </div>
</div>

Can anyone help?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 数学建模,尽量用matlab回答,论文格式
    • ¥15 昨天挂载了一下u盘,然后拔了
    • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
    • ¥20 易康econgnition精度验证
    • ¥15 msix packaging tool打包问题
    • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能