在codeigniter的单个复选框中插入多个记录?

时间:2018-12-05 12:41:50

标签: javascript php ajax codeigniter

我有两个不同的表,第一个是draft_table,第二个是fix_table,每个表都有相同的字段(product和price)

我想从draft_table中获取数据,可以使用复选框将其保存到fix_table中,因此只需将选定的数据保存到fix_table中即可。

我有这样的代码:

AJAX

<script>
$(function(){
    $("a.paid").click(function(){
    if(confirm("Are you sure want save this?"))
    {
        id_array=new Array()
        i=0;
        $("input.chk:checked").each(function(){
            id_array[i]=$(this).val();
            i++;
        })

        $.ajax({
            url:'<?php echo base_url(); ?>fix_data/set',
            data:"kode="+id_array,
            type:"POST",
            success:function(respon)
            {
                if(respon==1)
                {
                    window.parent.location.reload(true);
                }
            }
        })
    }
        return false;
    })
})
</script>

观看次数:

<?php
    foreach($data_get->result_array() as $dp)
    {
?>      
    <tr><td><input type="checkbox" name="chk[]" class="chk" value="<?php echo $dp['id_draft']; ?>" /></td>
    <td><?php echo $dp['product']; ?></td>
    <td><?php echo $dp['price']; ?></td>
    </td></tr>
<?php
    }
?> 

控制器:

public function set_stts()
{
    if($this->session->userdata('logged_in')!="")
    {
        $id_get = $this->input->post('kode');
        $dt = $this->db->get_where("tbl_draft",$id_get)->row();
        $product = $dt->product;
        $price = $dt->price;
        if ($this->input->post('kode')) {   
            $query = $this->db->query("INSERT INTO tbl_fix (product,price) VALUES (".$product.",".$price.")");
        }

        if($query){
            echo 1;
        }
        else{
            echo 0;
        }
    }
    else
    {
        header('location:'.base_url().'dashboard_item');
    }
}

在我单击草稿提交后,什么都没有发生,有人可以帮助我处理此案吗?

谢谢

1 个答案:

答案 0 :(得分:1)

也许您可以像这样更改控制器:

public function set()
    {
        if($this->session->userdata('logged_in')!="")
        {
            $id_get = $this->input->post('kode');
            $quer = $this->db->query("select * from tbl_draft WHERE id IN (".$id_get.")");
            if ($this->input->post('kode')) {   
                foreach($quer->result_array() as $dp)
                {
                    $a = $dp['product'];
                    $b = $dp['price'];
                    $query = $this->db->query("INSERT INTO tbl_fix (product,price) VALUES 
                    ('".$a."','".$b."')");
                }
            }

            if($query){
                echo 1;
            }
            else{
                echo 0;
            }
        }
        else
        {
            header('location:'.base_url().'dashboard_item');
        }
    }