php修改数据库字段为空,php-如果表单字段输入为空,则不更新数据库CodeIgniter

我有一个带有8个输入字段的表单.现在,如果它保留为空,我不想更新数据库中的一个字段.

这是我要检查的字段.如果为空,则不更新它们并保留原始值.这个怎么做?

这是我在控制器中的功能

function update_profile(){

$data = array(

'name' => $this->input->post('name'),

'email' => $this->input->post('email'),

'telefoon' => $this->input->post('telefoon'),

'gsm' => $this->input->post('gsm'),

'facebook' => $this->input->post('facebook'),

'twitter' => $this->input->post('twitter'),

'portfolio' => $this->input->post('portfolio'),

'profilefoto' => $this->input->post('browse')

);

$this->kdg_model->update_profile($data);

}

我的模特

function update_profile($data) {

$session_id = $this->session->userdata('user');

$this->db->where('user', $session_id);

$this->db->update('user', $data);

}

解决方法:

只需从您的主阵列中删除该字段,然后以其他方式进行检查即可.

假设这是您的$data数组:

$data = array(

'naam' => $this->input->post('naam'),

'email' => $this->input->post('email'),

'telefoon' => $this->input->post('telefoon'),

'gsm' => $this->input->post('gsm'),

'facebook' => $this->input->post('facebook'),

'twitter' => $this->input->post('twitter'),

'portfolio' => $this->input->post('portfolio'),

'profielfoto' => $this->input->post('browse')

);

关于not_update_if_blank,您所需要做的就是在$data数组之后检查它:

if( $this->input->post('not_update_if_blank') != "" )

{

$data['not_update_if_blank'] = $this->input->post('not_update_if_blank');

}

现在您可以将$data传递给模型.

编辑:

$post_array = $this->input->post();

foreach( $post_array as $key=>$value )

{

if(trim($value)!= "")

{

$data[$key] = $value;

}

}

现在将$data传递给您的模型.

注意:请测试代码,因为我尚未测试!

标签:codeigniter,mysql,php

来源: https://codeday.me/bug/20191122/2063242.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值