【问题标题】:codeigniter: alteration of PHP arraycodeigniter:更改 PHP 数组
【发布时间】:2015-04-26 13:37:51
【问题描述】:

我正在向函数 insert_to_table 发送 $_POST['checkbox_name']。

function insert_to_table($valid_array)
    {
        $data_array = array();

        $this->load->model('get_data_model');
        $updated_max_brand_id = $this->get_data_model->get_max_brand_id();

        foreach ($valid_array as $key => $value) {
            $data_array['bdc_brand_id'] = $updated_max_brand_id;
            $data_array['bdc_cat_id'] = $value;
        }

        $this->db->insert('mart_brand_dealing_cat',$data_array);
    }

最后的mysql查询应该如下运行

INSERT INTO `mart_brand_dealing_cat` (`bdc_brand_id`, `bdc_cat_id`) VALUES (11,43),(11,42);

11 - 更新了_max_brand_id; 42,43 来自已存在的数组 $valid_array。

我试图一次插入多个值。我该怎么做。我可能错了,请指导和帮助我。

【问题讨论】:

  • $data_array['bdc_cat_id'] = $valid_array 应该是$data_array['bdc_cat_id'] = $value,$valid_array 是什么样的?
  • 你是对的 @LawrenceCherone 编辑了 wuestion。我正在尝试并在这里粘贴相同的代码并忘记更改。谢谢。

标签: php mysql arrays codeigniter insert


【解决方案1】:

您可能正在寻找类似$this->db->insert_batch();的东西

例如:

<?php 
function insert_to_table($valid_array)
{
    $this->load->model('get_data_model');
    $brand_id = $this->get_data_model->get_max_brand_id();

    $insert = array();
    foreach ($valid_array as $key => $cat_id) {
        $insert[] = array(
            'bdc_brand_id' => $brand_id,
            'bdc_cat_id' => $cat_id,
        );
    }

    if (!empty($insert)) {
        return $this->db->insert_batch('mart_brand_dealing_cat', $insert); 
    } else {
        return false;
    }
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多