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

标签 php mysql arrays codeigniter codeigniter-3

我是使用 php CodeIgniter 的新手。我可以使用 php native 插入数组。但是我如何使用 CodeIgniter 插入数组呢?帮助我

我有一个用于许多复选框的程序。如果我检查了超过 1 个或检查了所有,它仍然只是插入 1 个数据。它所说的成功但只有 1 个数据。所以我想插入超过 1 个。我该怎么做这个代码?请修复它

这是我来自 Controller 的函数命令代码:

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>

我认为问题出在函数顺序和 View 顺序中的标签 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>

您将使用 Controller 获得值(value)

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

关于php - 如何使用数组插入多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55934462/

相关文章:

php - insertOnDuplicate 在 Magento 中不起作用

php - 如何使用ajax在不刷新的情况下删除一行并显示更新的数据库

php artisan up 命令在 Laravel 中不起作用?

php - 显示每条生产线的产品描述成本

php - DATE_FORMAT() mysql 代码可以在 PHPMyAdmin 中运行,但不能在 PHP 中运行

mysql - 为什么从 View 检索数据与该 View 的底层选择检索数据时存在性能差异

c++ - 如何连接二维数据数组

java - if 语句 undefined variable

PHP使用PHPExcel lib读取具有非英文内容的excel文件

java - 使用 GSON 在字符串和 byte[] 之间转换 JSON