繁体   English   中英

如何使用数组插入多个数据

[英]How insert multiple data using array

我是一个使用php CodeIgniter的新手。 我可以使用php native插入数组。 但是我怎么能用CodeIgniter插入数组呢? 帮我

我有一个复选框的程序。 如果我检查了超过1或检查了所有它仍然插入1数据。 它说成功但只有1个数据。 所以我想插入超过1.我怎么能做那个代码? 请修理它

这是我来自控制器的功能订单代码:

public function order()
    {
        $this->form_validation->set_rules('id_sub', 'Id_sub', 'required|trim');
        if ($this->form_validation->run() == false) {
            $data['title'] = 'Order';
            $data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
            $data["home"] = $this->product_model->getAll_join();
            $this->load->view('templates/header', $data);
            $this->load->view('templates/sidebar', $data);
            $this->load->view('templates/topbar', $data);
            $this->load->view('user/order', $data);
            $this->load->view('templates/footer');
        } else {
            $data = [
                'id_sub' => htmlspecialchars($this->input->post('id_sub', true))
            ];
            $this->db->insert('tbl_order_detail', $data);
            $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Data berhasil disimpan.
             </div>');
            redirect('user/order');
        }
    }

这是我的查看订单代码:

 <tbody>
                                <tr>
                                    <td>
                                        <?php
                                        $query = $this->db->query("select tbl_referensi.referensi, tbl_sub_kategori.sub, tbl_sub_kategori.id_sub
                                            from tbl_referensi
                                            inner join tbl_sub_kategori
                                            on tbl_referensi.id_ref = tbl_sub_kategori.id_ref
                                            where tbl_referensi.id_ref = $tampil->id_ref;
                                            ");
                                        foreach ($query->result() as $tampil_sub) :
                                            ?>
                                            <input type="checkbox" aria-label="Checkbox for following text input" name="id_sub" id="id_sub" value="<?= $tampil_sub->id_sub ?>"> <label for="name" class="mr-4"><?= $tampil_sub->sub ?></label>
                                        <?php endforeach; ?>
                                    </td>
                                </tr>
                            </tbody>

我认为问题来自视图顺序中的函数顺序和标记HTML(name = "id_sub" )。 也许使用id_sub []。 但怎么样? 请修理它并帮助我。

用这个

<input type="checkbox" aria-label="Checkbox for following text input" name="id_sub[]" id="id_sub" value="<?= $tampil_sub->id_sub ?>"> <label for="name" class="mr-4"><?= $tampil_sub->sub ?></label>

你将获得控制器使用的价值

$post_data = $this->input->post('id_sub');
foreach ($post_data as $key=>$value) {
  // do your code
} 

在html中,输入名称应该是一个数组

<input type="checkbox" aria-label="Checkbox for following text input" name="id_sub[]" id="id_sub" value="<?= $tampil_sub->id_sub ?>"> <label for="name" class="mr-4"><?= $tampil_sub->sub ?>

Mysql查询:

$data = [
          'id_sub' => implode(',',$this->input->post('id_sub'))
        ];
 $this->db->insert('tbl_order_detail',$data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM