插入多维数组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);
}
}
我从复选框中插入数据数组时遇到问题。我想像这样插入我的数据。此表格为测验:
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);
}
}