Php 编码点火器-带回路的多输入
我想让多个输入形成一个循环,并为我填充的每个数据提供不同的值,这段代码似乎可以工作,但它只得到1到3次相同值的数据 我需要的是,我可以为表单中的每个数据创建不同的值 或者我需要一个模型来做这件事?在这里挣扎了几天,请帮忙 这就是我对表单循环中的结果的期望 但我想得到这个输出:- controller.phpPhp 编码点火器-带回路的多输入,php,loops,codeigniter,foreach,multiple-insert,Php,Loops,Codeigniter,Foreach,Multiple Insert,我想让多个输入形成一个循环,并为我填充的每个数据提供不同的值,这段代码似乎可以工作,但它只得到1到3次相同值的数据 我需要的是,我可以为表单中的每个数据创建不同的值 或者我需要一个模型来做这件事?在这里挣扎了几天,请帮忙 这就是我对表单循环中的结果的期望 但我想得到这个输出:- controller.php public function aksi_soal3(){ $ps5 = $this->input->post('soal'); $ps6 =
public function aksi_soal3(){
$ps5 = $this->input->post('soal');
$ps6 = $this->input->post('opsi_a');
$ps7 = $this->input->post('opsi_b');
$ps11 = $this->input->post('kunci_jawaban');
$data = array(
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
)
);
$this->db->insert_batch('soal',$data);
redirect('guru/index');
}
<!DOCTYPE html>
<html lang="en" >
<head>
<title></title>
</head>
<body>
<?php
$i=1;
while ($i<=3){
foreach($tampilan as $soal){
?>
<form action="<?php echo base_url()?>guru/aksi_soal3" method="post">
<?php
echo "
<input type='hidden' name='kode_soal' value='$soal->kode_soal''>
<textarea placeholder='soal' name='soal'></textarea>
<input type='text' name='opsi_a' placeholder='jawaban a'>
<input type='text' name='opsi_b' placeholder='jawaban b'>
<input type='text' name='kunci_jawaban' placeholder='Kunci jawaban' >
</div>
</div>
";
?>
<?php
$i=$i+1;
}}
?>
<button type="submit" class="btn">Selesai</button>
</form>
</html>
view.php
public function aksi_soal3(){
$ps5 = $this->input->post('soal');
$ps6 = $this->input->post('opsi_a');
$ps7 = $this->input->post('opsi_b');
$ps11 = $this->input->post('kunci_jawaban');
$data = array(
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
),
array(
'soal' => $ps5,
'opsi_a' => $ps6,
'opsi_b' => $ps7,
'kunci_jawaban' => $ps11
)
);
$this->db->insert_batch('soal',$data);
redirect('guru/index');
}
<!DOCTYPE html>
<html lang="en" >
<head>
<title></title>
</head>
<body>
<?php
$i=1;
while ($i<=3){
foreach($tampilan as $soal){
?>
<form action="<?php echo base_url()?>guru/aksi_soal3" method="post">
<?php
echo "
<input type='hidden' name='kode_soal' value='$soal->kode_soal''>
<textarea placeholder='soal' name='soal'></textarea>
<input type='text' name='opsi_a' placeholder='jawaban a'>
<input type='text' name='opsi_b' placeholder='jawaban b'>
<input type='text' name='kunci_jawaban' placeholder='Kunci jawaban' >
</div>
</div>
";
?>
<?php
$i=$i+1;
}}
?>
<button type="submit" class="btn">Selesai</button>
</form>
</html>
你需要像下面这样做
控制器部件:-
公共功能aksi_soal3(){
$ps5=$this->input->post('soal');
$ps6=$this->input->post('opsi_a');
$ps7=$this->input->post('opsi_b');
$ps11=$this->input->post('kunci_jawaban');
$data=array();
foreach($ps5作为$key=>$value){
$data[]=数组(
“soal”=>$value,
'opsi_a'=>$ps6[$key],
'opsi_b'=>$ps7[$key],
“kunci_jawaban”=>$ps11[$key]
);
}
$this->db->insert_batch('soal',$data);
重定向(“专家/索引”);
}
查看部件:-
您需要执行以下操作
控制器部件:-
公共功能aksi_soal3(){
$ps5=$this->input->post('soal');
$ps6=$this->input->post('opsi_a');
$ps7=$this->input->post('opsi_b');
$ps11=$this->input->post('kunci_jawaban');
$data=array();
foreach($ps5作为$key=>$value){
$data[]=数组(
“soal”=>$value,
'opsi_a'=>$ps6[$key],
'opsi_b'=>$ps7[$key],
“kunci_jawaban”=>$ps11[$key]
);
}
$this->db->insert_batch('soal',$data);
重定向(“专家/索引”);
}
查看部件:-
添加更多
jQuery(文档).ready(函数(){
$(“正文”)。在(“单击”,“添加更多”,函数()上){
var html=$(“.after add more:first”).clone();
$(html).find(“.remove”).html(
当您单击“添加更多”按钮时,文本字段将按您单击的数量填充,然后您可以将表单字段的“名称”属性更改为与该代码类似的名称属性,并使用括号[],以便将值保存为数组
添加更多
jQuery(文档).ready(函数(){
$(“正文”)。在(“单击”,“添加更多”,函数()上){
var html=$(“.after add more:first”).clone();
$(html).find(“.remove”).html(
当您单击“添加更多”按钮时,文本字段将按您单击的数量填充,然后您可以将表单字段的“名称”属性更改为类似于该代码,并使用括号[]因此,您可以将您的值保存为数组我不明白,兄弟,您想在控制器中获得一个数组吗?您可以解释一下您希望看到的内容吗?您在输入中使用了相同的名称,这将覆盖您以前的值,您需要将名称添加为数组,如name='kode_soal[]“我想用不同的值进行多个输入,例如数据1:soal:tes1 opsi_a:tes1 opsi_b:tes1 kunci_jawaban:tes1 data:soal:tes2 opsi_a:tes2 opsi_b:tes2 kunci_jawaban:tes2数据3:soal:tes3 opsi_a:tes3 opsi_b:tes3 kunci_jawaban:tes3目前的问题只是只取数据3,并使其变成三行,只有tes3 but数据库中不包含数据1和数据2,因此所有数据行都是TES3。实际上您正在创建多个表单。这是故意的吗?我不明白,兄弟,您想在控制器中获得一个数组吗?您能解释一下您希望看到的吗?您在输入中使用了相同的名称,它将覆盖您以前的值,您需要添加名称作为类似name='kode_soal[]的数组“我想用不同的值进行多个输入,例如数据1:soal:tes1 opsi_a:tes1 opsi_b:tes1 kunci_jawaban:tes1 data:soal:tes2 opsi_a:tes2 opsi_b:tes2 kunci_jawaban:tes2数据3:soal:tes3 opsi_a:tes3 opsi_b:tes3 kunci_jawaban:tes3目前的问题只是只取数据3,并使其变成三行,只有tes3 bu不要在数据库中包含数据1和数据2,所以所有的数据行都是TES3。你实际上是在创建多个表单。这是故意的吗?这不会起作用,因为OP也在创建多个表单。你需要将表单放在循环之外。好了,现在可以了。我可以用它创造不同的价值,非常感谢。我一直在尝试解决这个问题r几天XD,而且我已经把表单放在循环之外了。这不起作用,因为OP也在创建多个表单。你需要把表单放在循环之外。好的,现在可以了,我可以用它创造不同的价值,非常感谢。我已经试着破解这个问题几天了XD,而且我已经把表单放在循环之外了