Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 编码点火器-带回路的多输入_Php_Loops_Codeigniter_Foreach_Multiple Insert - Fatal编程技术网

Php 编码点火器-带回路的多输入

Php 编码点火器-带回路的多输入,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 =

我想让多个输入形成一个循环,并为我填充的每个数据提供不同的值,这段代码似乎可以工作,但它只得到1到3次相同值的数据

我需要的是,我可以为表单中的每个数据创建不同的值

或者我需要一个模型来做这件事?在这里挣扎了几天,请帮忙

这就是我对表单循环中的结果的期望

但我想得到这个输出:-

controller.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>
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,而且我已经把表单放在循环之外了