插入多维数组codeigniter

Insert multiple dimension array codeigniter

我从复选框中插入数据数组时遇到问题。我想像这样插入我的数据。此表格为测验:

1 | what's your color like? | red, blue

2 | what's your age? | 17

我所有的问题都是数组,选项都是复选框。我想要内爆我的复选框答案。这是我的代码:

查看

<?php $i = 1;
foreach ($pertanyaan as $p) { ?>
    <input type="hidden" name="id_pertanyaan[]" value="<?= $p->id_pertanyaan ?>">
    <input type="hidden" name="kategori[]" value="<?php $p->kategori_id ?>">
    <p><?php echo $i;
        echo ". " . $p->isi ?></p>
    <?php $array = explode(';', $p->opsi_jawaban); ?>
    <?php foreach ($array as $a) {
        if ($p->kategori_id == 1) {
            if ($a != "") { ?>
                <div class="radio">
                    <input type="radio" name="jawaban[<?= $i ?>]" value="<?= $a ?>"> <?= $a ?>
                </div>
            <?php }
        } elseif ($p->kategori_id == 2) {
            if ($a != "") { ?>
                <table>
                    <tr>
                        <td>
                            <div class="form-group form-material">
                                <div class="checkbox-custom checkbox-primary">
                                    <input type="checkbox" name="jawaban[<?= $i ?>]" class="cek" data-fv-notempty="true" value="<?= $a ?>" data-fv-notempty-message="This is required">
                                    <label for="requiredCheckbox"><?= $a ?></label>
                                </div>
                            </div>
                        </td>
                        <td>
                            <div class="form-group form-material">
                                <?php if ($a == 'lainnya') { ?>
                                    <input type="text" name="lainnya" class="form-control">
                                <?php } ?>
                            </div>
                        </td>
                    </tr>
                </table>
            <?php }
        } else { ?>
            <div class="form-group form-material">
                <input type="text" name="jawaban[<?= $i ?>]" class="form-control">
            </div>
    <?php }
    } ?>
<?php $i++;
} ?>

控制器

$pertanyaanid = $_POST['id_pertanyaan'];
$jawaban = $_POST['jawaban'];
$now = date('Y-m-d H:i:s');
$this->load->database();
$id_investor = $this->db->insert_id();
$index = 1;
foreach ($pertanyaanid as $j) {
    $kat = $_POST['kategori'];
    if( $kat[$index] == 2)
    {
        $dataj = array(
            'pertanyaan_id' => $j,
            'jawaban' => $jawaban[$index],// trouble input
            'inv_id' => $id_investor,
            'created_at' => $now
        );
    }else 
    {
        $dataj = array(
            'pertanyaan_id' => $j,
            'jawaban' => $jawaban[$index],
            'inv_id' => $id_investor,
            'created_at' => $now
        );
    }
    $this->Survey_model->insertjawaban($dataj);  
    $index++;
}

你能帮我吗,或者你对我的问题有参考吗?因为我现在的情况就是这样插入的:

1 | what's your color like? | blue

2 | what's your age? | 17

这是我的图片格式:

您的查看代码如下:-

您必须像这样将所有单选按钮和复选框 name[] 作为一个数组。

<?php 
   //sql Query.
  //execute Query.

 foreach($types as $key=>$value){?> 

<input type="radio" name="option1[$key]" value="A">A<br>

<br><br>


<label>
    <input type="checkbox"  value="<?php echo $value['name'] ?>"  name="option2[$key]" />
    <span class="text"><?php echo $value['name'] ?></span>
</label>

<?php } ?>

控制器代码:-

public function insertData(){

$option1 = $this->input->post('option1[]');
$option2= $this->input->post('option2[]');

var_dump($option1);
var_dump($option2);


for ($i = 0; $i < count($option2); $i++) {
   $data = array(
       'option1'=>$option1[$i],
       'option2'=> $option2[$i]);
       
   $this->db->insert('table_name',$data);
}

}