Php 如果存在不必要的列,如何存储编辑的数据

Php 如果存在不必要的列,如何存储编辑的数据,php,codeigniter,Php,Codeigniter,这是一个产品数据编辑表单。其中,根据产品id在通话中选择大小(input name=“size”)和颜色(input name=“color”)。如果我想删除所有颜色选择或想添加新颜色,如果输入不存在,如何进行查询,然后忽略。因为输入的颜色、大小和附加图像不是固定的输入,而是jquery的结果 预览: 我的看法是: <div id="ukuna" class="tab-pane fade"> <?php echo br(2)?> <div class="r

这是一个产品数据编辑表单。其中,根据产品id在通话中选择大小(input name=“size”)和颜色(input name=“color”)。如果我想删除所有颜色选择或想添加新颜色,如果输入不存在,如何进行查询,然后忽略。因为输入的颜色、大小和附加图像不是固定的输入,而是jquery的结果

预览:

我的看法是:

<div id="ukuna" class="tab-pane fade">
  <?php echo br(2)?>
  <div class="row">
  <div class="col-md-6 input group">
  <a href="javascript:void(0);" class="btn btn-success tambah_ukuran_edit">add size</a><?php echo br(2)?>
        <label>Opsional size:</label>
        <div id="get_sizing">
           <?php foreach($get_sizex as $data){?>
          <div id="get_dropx">
            <a href="javscript:void(0)" onclick="hapus_ukuran_dipilih(this)" data-id="<?php echo $data['id_size']?>" class="label label-danger">X</a>
            <select class="form-control" name="size_update[]" id="sizing" style="margin-bottom:10px;">               
            <?php foreach($get_data_sizex_all as $datac){
              if($datac['id_opsi_size'] == $data['id_opsi_get_size']){?>
                <option value="<?php echo $datac['id_opsi_size']?>" SELECTED><?php echo $datac['opsi_size']?></option>
                <?php }else{?>
                <option value="<?php echo $datac['id_opsi_size']?>"><?php echo $datac['opsi_size']?></option>
                <?php }}?>
            </select>
          </div>
        <?php }?>
        </div>
    </div>

    <div class="col-md-6 input group">
    <a href="javascript:void(0);" class="btn btn-success tambah_warna_edit">add color</a><?php echo br(2)?>
        <label>Opsional Color:</label>
        <div id="get_coloring">
        <?php foreach($get_colorx as $data){?>
          <div id="get_drop">
            <a href="javscript:void(0)" onclick="hapus_warna_dipilih(this)" data-id="<?php echo $data['id_color']?>" class="label label-danger">X</a>
            <select class="form-control" name="color_update[]" id="coloring" style="margin-bottom:10px;">               
            <?php foreach($get_data_colorx_all as $datac){
              if($datac['id_opsi_color'] == $data['id_opsi_get_color']){?>
                <option value="<?php echo $datac['id_opsi_color']?>" SELECTED><?php echo $datac['opsi_color']?></option>
                <?php }else{?>
                <option value="<?php echo $datac['id_opsi_color']?>"><?php echo $datac['opsi_color']?></option>
                <?php }}?>
            </select>
          </div>
        <?php }?>
        </div>
    </div>
</div>
</div>

<div class="hidden">  
<div id="get_color">
  <label onclick="remove_element_color()" class="label label-danger">X</label>
  <select class="form-control" name="color[]" id="coloring" style="margin-bottom:10px;">
    <?php foreach($get_data_colorx_all as $data){ ?>
      <option value="<?php echo $data['id_opsi_color']?>"><?php echo $data['opsi_color']?></option>
    <?php }?>
  </select>
</div>
<div id="get_size">
  <label onclick="remove_element_size()" class="label label-danger">X</label>
  <select class="form-control" name="size[]" id="sizing" style="margin-bottom:10px;">
    <?php foreach($get_data_sizex_all as $data){ ?>
      <option value="<?php echo $data['id_opsi_size']?>"><?php echo $data['opsi_size']?></option>
    <?php }?>
  </select>
  </div>
</div>

<script>
  $(".tambah_ukuran_edit").click(function(e){
    e.preventDefault();
   var select = document.getElementById( 'get_size' ).cloneNode( true );
   document.getElementById( 'get_sizing' ).appendChild( select );
});
$(".tambah_warna_edit").click(function(e){
    e.preventDefault();
   var select = document.getElementById( 'get_color' ).cloneNode( true );
   document.getElementById( 'get_coloring' ).appendChild( select );
});
</script>

可选尺寸:
选择颜色:
X
X
$(“.tambah_ukuran_edit”)。单击(函数(e){
e、 预防默认值();
var select=document.getElementById('get_size').cloneNode(true);
document.getElementById('get_size').appendChild(选择);
});
$(“.tambah\u warna\u edit”)。单击(函数(e){
e、 预防默认值();
var select=document.getElementById('get_color').cloneNode(true);
document.getElementById('get_coloring').appendChild(select);
});
我的控制器

function update_produk(){
    $config['upload_path']          = 'assets/img/produk';
    $config['allowed_types']        = 'gif|jpg|png|jpeg';
    $config['max_size']             = 300;
    $config['overwrite']            = TRUE;
    //$config['maintain_ratio']         = TRUE;
    //$config['create_thumb']           = TRUE;
    //$config['max_width']            = 75;
    //$config['max_height']           = 50;
    $this->load->library('upload', $config);

        $result=array();
        $files = $_FILES;
        $count = count($_FILES['gambar_tambah']['name']);
        for($i=0; $i<$count; $i++)
            {
            $_FILES['gambar_tambah']['name']= $files['gambar_tambah']['name'][$i];
            $_FILES['gambar_tambah']['type']= $files['gambar_tambah']['type'][$i];
            $_FILES['gambar_tambah']['tmp_name']= $files['gambar_tambah']['tmp_name'][$i];
            $_FILES['gambar_tambah']['error']= $files['gambar_tambah']['error'][$i];
            $_FILES['gambar_tambah']['size']= $files['gambar_tambah']['size'][$i];
            $this->upload->do_upload('gambar_tambah');
            $upload_data = $this->upload->data();
            $name_array[] = $upload_data['file_name'];
            $fileName = $upload_data['file_name'];
            $images[] = $fileName;
            $result[] = $files['gambar_tambah']['name'][$i];
            }

    $id = $this->input->post('id_produk');
    $target = $this->input->post('nama');
    if(empty($_FILES['gambar']['name'])){
                $data = $this->input->post();
                $data['id'] = $this->data['id'];
                $process = $this->produk_adm->update_produk_without_image($id,$data,$result);
                log_helper("produk", "Edit produk ".$target."");
                //redirect('trueaccon2194/produk');
    }else{
                $this->upload->do_upload('gambar');
                $gambar = $_FILES['gambar']['name'];
                $data = $this->input->post();
                $data['id'] = $this->data['id'];
                $gb_utama_lawas = $this->input->post('gb_utama');
                unlink('assets/img/produk/'.$gb_utama_lawas);
                $proses = $this->produk_adm->update_produk_with_image($id,$data,$gambar,$result);
                log_helper("produk", "Edit produk ".$target."");
                //redirect('trueaccon2194/produk');
    } 
}
功能更新_produk(){
$config['upload_path']='assets/img/produk';
$config['allowed_types']='gif | jpg | png | jpeg';
$config['max_size']=300;
$config['overwrite']=TRUE;
//$config['maintain_ratio']=TRUE;
//$config['create_thumb']=TRUE;
//$config['max_width']=75;
//$config['max_height']=50;
$this->load->library('upload',$config);
$result=array();
$files=$\u文件;
$count=count($_文件['gambar\u tambah']['name']);
对于($i=0;$iupload->do_upload('gambar_tambah');
$upload_data=$this->upload->data();
$name_array[]=$upload_data['file_name'];
$fileName=$upload_data['file_name'];
$images[]=$fileName;
$result[]=$files['gambar_tambah']['name'][$i];
}
$id=$this->input->post('id_produk');
$target=$this->input->post('nama');
if(空($_文件['gambar']['name'])){
$data=$this->input->post();
$data['id']=$this->data['id'];
$process=$this->produk\u adm->update\u produk\u而不使用图像($id,$data,$result);
log_helper(“produk”,“编辑produk”。$target.”);
//重定向(“trueaccon2194/produk”);
}否则{
$this->upload->do_upload('gambar');
$gambar=$\u文件['gambar']['name'];
$data=$this->input->post();
$data['id']=$this->data['id'];
$gb_utama_lawas=$this->input->post('gb_utama');
取消链接(“资产/img/produk/”.$gb_utama_lawas);
$proses=$this->produk\u adm->update\u produk\u with\u image($id、$data、$gambar、$result);
log_helper(“produk”,“编辑produk”。$target.”);
//重定向(“trueaccon2194/produk”);
} 
}
我的模特们:

function update_produk_without_image($id,$data,$result){
    $data_produk = array(
        'nama_produk'   => $data['nama'],
        'slug'          => $data['slug'],
        'milik'         => $data['miliknya'],
        'jenis'         => $data['jenisnya'],
        'artikel'       => $data['artikel'],
        'merk'          => $data['merknya'],
        'keterangan'    => $data['editor1'],
        'tags'          => $data['tags'],
        'kategori'      => $data['kategori'],
        'parent'        => $data['parent'],
        'harga_retail'  => $data['retail'] - ($data['diskon'] / 100 * $data['retail']),
        'harga_odv'     => $data['odv'],
        'harga_net'     => $data['retail'] - ($data['diskon'] / 100 * $data['retail']),
        'diskon'        => $data['diskon'],
        'stok'          => $data['stok'],
        'berat'         => $data['berat'],
        'point'         => $data['point'],
        'status'        => $data['aktif'],
        'diubah'        => $data['id'],
        'tgl_diubah'    => date('Y-m-d H:i:s'),
    );
    $this->db->where('id_produk', $id);
    $this->db->update('produk', $data_produk);

    //$last_insert_id = $this->db->insert_id();


    if(empty($_POST['size_update'])){
        return true;
    }else{
    $count = count($_POST['size_update']);
    for($i=0; $i<$count; $i++) {
        $data_size = array(
        'id_opsi_get_size' => $data['size_update'][$i],
        );
        $this->db->where('id_produk',$id);
        $this->db->update('produk_get_size', $data_size);
        }
    }

    if(empty($_POST['size'])){
        return true;
    }else{
    $count = count($_POST['size']);
    for($i=0; $i<$count; $i++) {
        $data_size = array(
        'id_opsi_get_size' => $data['size'][$i],
        );
        $this->db->where('id_produk',$id);
        $this->db->insert('produk_get_size', $data_size);
        }
    }

    if(empty($_POST['color_update'])){
        return true;
    }else{
    $count = count($_POST['color_update']);
    for($i=0; $i<$count; $i++) {
        $data_color = array(
        'id_opsi_get_color' => $data['color_update'][$i],
        );
        $this->db->where('id_produk',$id);
        $this->db->update('produk_get_color', $data_color);
        }
    }

    if(empty($_POST['color'])){
        return true;
    }else{
    $count = count($_POST['color']);
    for($i=0; $i<$count; $i++) {
        $data_color = array(
        'id_opsi_get_color' => $data['color'][$i],
        );
        $this->db->where('id_produk',$id);
        $this->db->insert('produk_get_color', $data_color);
        }
    }

    $count = count($result);
    for($i=0; $i<$count; $i++){
    $data_add = array(
        'gambar' => $result[$i],
    );
    $this->db->where('id_produk',$id);
    $this->db->update('produk_image', $data_add);
    //$result[]=$this->db->insert_id();
    }
}
function update\u produk\u不带图像($id,$data,$result){
$data\U produk=阵列(
“nama_produk”=>$data['nama'],
'slug'=>$data['slug'],
“milik”=>$data['miliknya'],
'jenis'=>$data['jenisnya'],
'artikel'=>$data['artikel'],
“merk”=>$data['merknya'],
“keterangan”=>$data['editor1'],
'tags'=>$data['tags'],
“kategori”=>$data['kategori'],
'parent'=>$data['parent'],
“harga_retail”=>$data['retail']-($data['diskon']/100*$data['retail']),
'harga_odv'=>$data['odv'],
“harga_net”=>$data['retail']-($data['diskon']/100*$data['retail']),
'diskon'=>$data['diskon'],
'stok'=>$data['stok'],
'berat'=>$data['berat'],
'point'=>$data['point'],
'status'=>$data['aktif'],
'diubah'=>$data['id'],
'tgl_diubah'=>日期('Y-m-d H:i:s'),
);
$this->db->where('id\u produk',$id);
$this->db->update('produk',$data\u produk);
//$last_insert_id=$this->db->insert_id();
if(空($\u POST['size\u update'])){
返回true;
}否则{
$count=count($\u POST['size\u update']);
对于($i=0;$i$data['size\u update'][$i],
);
$this->db->where('id\u produk',$id);
$this->db->update('produk\u get\u size',$data\u size);
}
}
if(空($_POST['size'])){
返回true;
}否则{
$count=计数($_POST['size']);
对于($i=0;$i$data['size'][$i],
);
$this->db->where('id\u produk',$id);
$this->db->insert('produk\u get\u size',$data\u size);
}
}
if(空($\u POST['color\u update'])){
返回true;
}否则{
$count=count($\u POST['color\u update']);
对于($i=0;$i$data['color\u update'][$i],
);
$this->db->where('id\u produk',$id);
$this->db->update('produk\u get\u color',$data\u color);
}
}
如果(空($_POST['color'])){
返回true;
}否则{
$count=count($_POST['color']);
对于($i=0;$i$data['color'][$i],
);
$this->db->where('id\u produk',$id);
$this->db->insert('produk\u get\u color',$data\u color);
}
}
$count=计数($result);
对于($i=0;$i$result[$i],
);
$this->db->where('id\u produk',$id);
$this->db->update('produk\u image',$data\u add);
//$result[]=$this->db->insert_id();
}
}
请帮助我,或者为我的问题提供其他解决方案,谢谢你