Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在同一参数中提交多个值_Php_Codeigniter - Fatal编程技术网

Php 在同一参数中提交多个值

Php 在同一参数中提交多个值,php,codeigniter,Php,Codeigniter,我有两个具有相同参数的输入文本,我想提交它,并希望影响数据库中的两行 视图 HTML '<input name="campaign_name" value="campaign_name_1" class="form-control" type="text">' '<input name="campaign_name" value="campaign_name_2" class="form-control" type="text">' 型号 public f

我有两个具有相同参数的输入文本,我想提交它,并希望影响数据库中的两行

视图

HTML

'<input name="campaign_name" value="campaign_name_1"  class="form-control" type="text">'
'<input name="campaign_name" value="campaign_name_2"  class="form-control" type="text">'
型号

    public function save($data)
    {
        $this->db->insert($this->table, $data);
        return $this->db->affected_rows();
    }
function edit_cs(id)
{
    save_method = 'update';
    $('#form')[0].reset(); 
    $('.form-group').removeClass('has-error'); 
    $('.help-block').empty(); 


    $.ajax({
        url : "<?php echo site_url('cs/ajax_edit/')?>/" + id,
        type: "GET",
        dataType: "JSON",
        {


// the data came from this "dataa"
dataa = [{ campaign_name: "eedfefs",status: 1},
{campaign_name:"aarar",status:2}];
console.log(dataa);

for (var i = 0; i < dataa.length; i++) {
            var campaign_name = dataa[i].campaign_name;
            var badges = document.createElement('div');
            badges.className = 'badges';
            badges.innerHTML =

                '<input name="campaign_name[]" value="'+campaign_name+'"  id="campaign_name"class="form-control" type="text">';

                    document.getElementById('case2').appendChild(badges);


 }


                        $('#modal_form').modal('show'); 
                        $('.modal-title').text('Call Action'); 
             }
        }

    });
}


function save()
{


    var url = "<?php echo site_url('cs/ajax_update')?>";
    $.ajax({
        url : url,
        type: "POST",
        data: $('#form').serialize(),
        dataType: "JSON",
        success: function(data)
        {

            if(data.status) //if success close modal and reload ajax table
            {
                $('#modal_form').modal('hide');
                reload_table();
            }


    });
}
html中的ajax

    public function save($data)
    {
        $this->db->insert($this->table, $data);
        return $this->db->affected_rows();
    }
function edit_cs(id)
{
    save_method = 'update';
    $('#form')[0].reset(); 
    $('.form-group').removeClass('has-error'); 
    $('.help-block').empty(); 


    $.ajax({
        url : "<?php echo site_url('cs/ajax_edit/')?>/" + id,
        type: "GET",
        dataType: "JSON",
        {


// the data came from this "dataa"
dataa = [{ campaign_name: "eedfefs",status: 1},
{campaign_name:"aarar",status:2}];
console.log(dataa);

for (var i = 0; i < dataa.length; i++) {
            var campaign_name = dataa[i].campaign_name;
            var badges = document.createElement('div');
            badges.className = 'badges';
            badges.innerHTML =

                '<input name="campaign_name[]" value="'+campaign_name+'"  id="campaign_name"class="form-control" type="text">';

                    document.getElementById('case2').appendChild(badges);


 }


                        $('#modal_form').modal('show'); 
                        $('.modal-title').text('Call Action'); 
             }
        }

    });
}


function save()
{


    var url = "<?php echo site_url('cs/ajax_update')?>";
    $.ajax({
        url : url,
        type: "POST",
        data: $('#form').serialize(),
        dataType: "JSON",
        success: function(data)
        {

            if(data.status) //if success close modal and reload ajax table
            {
                $('#modal_form').modal('hide');
                reload_table();
            }


    });
}
功能编辑(id)
{
save_方法='update';
$('#form')[0].reset();
$('.form group').removeClass('has-error');
$('.help块').empty();
$.ajax({
url:“/”+id,
键入:“获取”,
数据类型:“JSON”,
{
//数据来自这个“数据A”
dataa=[{campaign_name:“eedfefs”,状态:1},
{运动名称:“aarar”,状态:2}];
console.log(dataa);
对于(变量i=0;i

我认为问题在于,要想从两个输入文本中获得数组,就必须比控制器更聪明。请注意,如果只插入一个输入文本,它已经可以工作了。如果不能使用相同名称的输入,它将被覆盖。 您可以将[]放在名称后面,使它们成为一个数组, 例如:

<input name="campaign_name[]" value="campaign_name_1"  class="form-control" type="text">
<input name="campaign_name[]" value="campaign_name_2"  class="form-control" type="text">
将回响

campaign_name_1
campaign_name_2

在AJAX函数中,您应该以相同的方式进行处理。

如果您希望同时为每个活动生成一行,并获得适当数量的受影响的行()
,则需要使用
插入批处理()

首先,您需要遵循pradeeps的答案,并将输入正确定义为数组:

'<input name="campaign_name[]" value="campaign_name_1"  class="form-control" type="text">'
'<input name="campaign_name[]" value="campaign_name_2"  class="form-control" type="text">'
并对
save()
方法进行小修改:

public function save($data)
    {
        $this->db->insert_batch($this->table, $data);
        return $this->db->affected_rows();
    }

我试过那个人,但仍然不工作,你知道我在哪里可以调试或响应$u POST[campaign\u name]?在控制器或模型中?让我们看看您的ajax代码,将其添加到问题中。然后您在控制器中进行响应。您可以在开发工具网络>“页面名称”>响应中查看响应您是否希望每个活动名称都是一个新的插入项?您的db模式是什么样子?添加您的ajax代码是的,先生,我在上面的代码中添加了我的ajax html显示完整的ajax代码和DB模式一样,DB模式就像我的模型一样,代码只是再次更新,如果我使用了它已经工作了,考虑控制器得到数组,但它只是合并成一个字符串,只会影响一个行。你的模型告诉我关于你的DB表,除了它有一个名为活动名称的列。描述为什么要使用数组作为输入。如果使用“内爆”,则所有活动名称都将位于列
活动\u name
下的同一db行中,这就是您试图实现的目标吗?如果是,则应仅使用一个输入,并将所有活动名称写入其中。还是希望每个活动名称都有一个新行?那么foreach campaign_name[]输入值是否开始一个新行?
public function save($data)
    {
        $this->db->insert_batch($this->table, $data);
        return $this->db->affected_rows();
    }