2017-02-15 3 views
0

以前に選択したチェックボックスをチェックする方法。私はそれがこのコードのすべてのチェックボックスをチェックして見ての通り は私のテーブル内の値は、1列以前にチェックされたチェックボックスをPHPを使って表示する方法

<?php 
    $answered="Refrigerator, Airconditioner, Television"; 
    $answer_options=array("Refrigerator","Airconditioner","tv"); 
    $ans_checked=explode(',',$answered); 
    echo "<pre>"; 
    //print_r($ans_checked); 
     $checked=''; 

    foreach($answer_options as $a) 
    { 
     echo $a."<br>"; 
     //print_r($ans_checked); 
     if(in_array($a,$ans_checked)) 
     { 
      $checked="checked"; 
     } 
    //echo "$a<br>"; 
    echo "<input type='checkbox' ".$checked." >$a<br>"; 
    } 
    ?> 
+0

このコードの何が問題になっています? – NID

答えて

1

に冷蔵庫、エアコン、テレビのように保存されています。 $checkedに「チェックされた」値が設定されると、値はそのまま残ります。

存在しない場合は、else部分を使用して設定を解除する必要があります。または、ループの内側に -

$checked=''; 
if(in_array($a,$ans_checked)) 
{ 
    $checked="checked"; 
} 

ループ内です。また

あなたがすべきは -

$ans_checked=array_map('trim', explode(',',$answered)); 
0
<?php 
    $answered="Refrigerator, Airconditioner, Television"; 
    $answered=str_replace(', ',',',$answered); 
    $answer_options=array("Refrigerator","Airconditioner","tv"); 
    $ans_checked = explode(',', $answered); 
    foreach ($answer_options as $a) 
    { 
     $checked = ''; 
     if (in_array($a, $ans_checked)) 
     { 
      $checked = "checked"; 
     } 
     echo $checked."<input type='checkbox' " . $checked . " >$a<br>"; 
    } 
    ?> 
+0

この2行目のみに注意する必要があります: –

関連する問題