亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Codeigniter,字段未更新,但其他字段將更新

Codeigniter,字段未更新,但其他字段將更新

PHP
慕萊塢森 2022-06-17 16:49:13
這是我的功能function store(){            $this->load->library('form_validation');            $this->form_validation->set_rules('shorthand','Shorthand','required|is_unique[locations.shorthand]');            if($this->form_validation->run() == FALSE){                redirect('locations');            } else {            $id = $this->input->post('location_id');            $location_name = ucwords(strtolower($this->input->post('location_name')));            $shorthand = strtolower($this->input->post('shorthand'));            $station = ucwords(strtolower($this->input->post('station')));            $data = array(                'location_name'=>$location_name,                'shorthand'=>$shorthand,                'station'=>$station            );            }if($id){                $result = $this->location_model->update($data,$id);                if($result > 0){                    $this->session->set_flashdata('success', 'Update successfull!');                }else{                    $this->session->set_flashdata('error', 'Failed to update!');                }                redirect('locations');            }else{                $result = $this->location_model->create($data);                if($result > 0){                    $this->session->set_flashdata('success', 'Location added!');                }else{                    $this->session->set_flashdata('error', 'Failed to add location!');                }                redirect('locations');            }        }速記更新很好,但無論我做什么,station 和 location_name 都不會更新。但是如果我刪除這段代碼。$this->load->library('form_validation');            $this->form_validation->set_rules('shorthand','Shorthand','required|is_unique[locations.shorthand]');            if($this->form_validation->run() == FALSE){                redirect('locations');            } else {所有字段都將更新。你能看看我的代碼嗎?提前致謝。
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我認為這是你需要的。請根據您的需要進行管理


$locations = $this->db->get_where('locations', array('location_id' => $id))->row();

$original_value = $locations->shorthand; 

if($this->input->post('shorthand') != $original_value) {

   $is_unique =  '|is_unique[locations.shorthand]';

} else {

  $is_unique =  '';

}


$this->form_validation->set_rules('shorthand','Shorthand','required|trim|xss_clean'.$is_unique);



查看完整回答
反對 回復 2022-06-17
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

那些評論過的人,謝謝,但我已經解決了控制器內部的問題,我忘了在這行后面加上其他內容


if($this->form_validation->run() == FALSE){

                redirect('locations');

            }

這就是整個函數現在的樣子


function store(){

            $this->form_validation->set_rules('location_name','Location_name','required');

            $this->form_validation->set_rules('shorthand','Shorthand','required|callback_locationExists');

            $this->form_validation->set_rules('station','Station','required');


            $id = $this->input->post('location_id');

            $location_name = ucwords(strtolower($this->input->post('location_name')));

            $shorthand = strtolower($this->input->post('shorthand'));

            $station = ucwords(strtolower($this->input->post('station')));


            $data = array(

                'location_name'=>$location_name,

                'shorthand'=>$shorthand,

                'station'=>$station,

            );

            if($this->form_validation->run() == FALSE){

                redirect('locations');

            }else{

                if($id){

                    $result = $this->location_model->update($data,$id);

                    if($result > 0){

                        $this->session->set_flashdata('success', 'Update successfull!');

                    }else{

                        $this->session->set_flashdata('error', 'Failed to update!');

                    }

                    redirect('locations');

                }else{

                    $result = $this->location_model->create($data);

                    if($result > 0){

                        $this->session->set_flashdata('success', 'Location added!');

                    }else{

                        $this->session->set_flashdata('error', 'Failed to add location!');

                    }

                    redirect('locations');

                }

            }

        }

謝謝閱讀


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號