【问题标题】:Insert array using codeigniter使用 codeigniter 插入数组
【发布时间】:2017-11-15 14:32:32
【问题描述】:

我尝试使用 codeigniter 和 ajax 将多个数组插入数据库。点击提交后,数据库插入到mysql,但所有值都是空白。我错过了什么?

我的看法:

<input type="hidden" name="iduser[]" id="iduser[]" value="<?php echo $rowmyuser->iduser; ?>"/>
<input type="hidden" name="idproduk[]" id="idproduk[]" value="<?php echo $rowproduk->idproduct; ?>"/>
<input type="text" class="form-control input-sm" name="settarget[]" id="settarget[]"/>

保存

我的控制器:

public function inserttarget()
{
   $this->target_m->inserttarget_m();
}

我的模特:

function inserttarget_m() {
        $iduser = $this->input->post("iduser");
        $idproduk = $this->input->post("idproduk");
        $settarget = $this->input->post("settarget");

        $temp = count($this->input->post("iduser"));

        $datatarget = array();

        for($i=0; $i < 3; $i++)
        {
        $datatarget[]=array(
        "iduser"=>$iduser[$i],
        "idproduct"=>$idproduk[$i],
        "target"=>$settarget[$i],
        );
    }
    $this->db->insert_batch("tbl_targetsales",$datatarget);
  }

Ajax 代码:

function insert_target() 
{
  var DataString=$("#frm_target").serialize();
  document.getElementById("save_target").innerHTML = "<i class='fa fa-cog fa-spin fa-lg fa-fw'></i> Saving...";
  $.ajax({
        type: 'POST',
        url: '<?php echo base_url();?>target/inserttarget',
        data: DataString,   
        success: function (data) {
      //jQuery("#attendence_report_holder").html(response);
        swal({              
            text: 'success'
            });
      $("#frm_target")[0].reset();
      document.getElementById("save_target").innerHTML = "<i class='fa fa-save'>&nbsp;&nbsp;</i>Save";
      window.location='<?php echo base_url(); ?>target';
    },
    error:function(data){
        swal({
            text: 'error',
            });
      document.getElementById("save_target").innerHTML = "<i class='fa fa-save'>&nbsp;&nbsp;</i>Save";
    }
  });
}

我需要建议,代码中的问题是什么。提前致谢

【问题讨论】:

  • 你如何打印&lt;?php echo $rowmyuser-&gt;iduser; ?&gt;这个值来查看??
  • 如果我打印代码,它的显示值与它应该显示的值相同,所以我认为问题不在值上,但问题是视图中的值没有发送到模型。

标签: arrays codeigniter post


【解决方案1】:

首先你在你的html中输入错误的输入名称是

iduser[]
idproduk[]
settarget[]

在你调用的模型中,在你插入的数组中,你调用不同的变量来保存它

iduser
idproduct
target

用(使用表单和变量名称中的正确名称)替换所有你的madel

function inserttarget_m() {
        $iduser = $this->input->post("iduser");
        $idproduct = $this->input->post("idproduk");
        $target = $this->input->post("settarget");

        $temp = count($iduser);

        $datatarget = array();

        for($i=0; $i < $temp; $i++){
            $datatarget[] = array(
                                 "iduser"    => $iduser[$i],
                                 "idproduct" => $idproduct[$i],
                                 "target"    => $target[$i],
                              );
    }

    $this->db->insert_batch("tbl_targetsales", $datatarget);
}

【讨论】:

  • 我编辑了我的代码但没有工作,在循环 for($i=0; $i
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 2021-03-07
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多