如何使用while循环使用PHP Codeigner从数据库中循环一组单选按钮组和动态数据



我将使用PHP Codeigniter进行一些问卷调查,我的问题来自数据库。这里是我检索问题并使用数据库显示答案的代码:

<?php $no=0; foreach ($this->format->indikator($f->id_format) as $i): $no++; ?>
<div id="collapseOne" class="panel-collapse collapse in">
    <div class="panel-body">
        <div class="form-group">
           <input type="hidden" value="<?php echo $i->id_indikator ?>" name="indikator[]">
           <div class="radio">
               <label><input type="radio" name="ases<?php echo $i->id_indikator ?>[]" value="1">1</label>
               <label><input type="radio" name="ases<?php echo $i->id_indikator ?>[]" value="2">2</label>
               <label><input type="radio" name="ases<?php echo $i->id_indikator ?>[]" value="3">3</label>
               <label><input type="radio" name="ases<?php echo $i->id_indikator ?>[]" value="4">4</label>
               <label><input type="radio" name="ases<?php echo $i->id_indikator ?>[]" value="5">5</label>
           </div>
       </div>
    </div>
</div>
<?php endforeach ?>

我尝试了以前问题中的一些代码,比如:

php表单的多个单选按钮阵列

如何将动态单选按钮中的值插入数据库?

但仍然无法解决

当我打印时,使用var_dump($_POST)显示如下:

array(6) { ["indikator"]=> array(20) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6" [6]=> string(1) "7" [7]=> string(1) "8" [8]=> string(1) "9" [9]=> string(2) "10" [10]=> string(2) "11" [11]=> string(2) "12" [12]=> string(2) "13" [13]=> string(2) "14" [14]=> string(2) "15" [15]=> string(2) "16" [16]=> string(2) "17" [17]=> string(2) "18" [18]=> string(2) "19" [19]=> string(2) "20" } ["ases1"]=> array(1) { [0]=> string(1) "5" } ["ases2"]=> array(1) { [0]=> string(1) "5" } ["ases3"]=> array(1) { [0]=> string(1) "5" } ["ases4"]=> array(1) { [0]=> string(1) "4" } ["asesmen-1-btn"]=> string(0) "" }

我的控制器是这样的:

    $count_id_indikator=count($_POST['indikator']);
    for($j=1;$j<=$count_id_indikator;$j++){
        $no=0;
        $no++;
        $id_indikator=$_POST['indikator'];              
        echo "ID Indikator ".$id_indikator[$j] ;
        $value=$_POST['ases'][$no][$j];
        echo "Result ".$value[$j];
    }

如果我将如何显示这样的数据?

ID_indikator 1 result 5
ID_indikator 2 result 3
ID_indikator 3 result 4

感谢:)

你的答案在"ases"数组中

["ases1"]=> array(1) { [0]=> string(1) "5" } ["ases2"]=> array(1) { [0]=> string(1) "5" } ["ases3"]=> array(1) { [0]=> string(1) "5" } ["ases4"]=> array(1) { [0]=> string(1) "4" }

这样你就可以像这样循环浏览你的帖子:

$count_id_indikator=count($_POST['indikator']);   
foreach( $count_id_indikator as $id ){
     $result = $_POST['ases'.$id ];
     echo "ID Indikator ".$id. " Result ". $result[0] ;
}

最新更新