2016-10-16 4 views
1

更新フォームがありますので、チェックボックスの入力がすでにMySQLデータに従ってチェックされている場合はチェックされます。マルチチェックボックスがチェックされていて、コンマ(、)で区切られています。

<?php 
$statement = $db->prepare("SELECT leavingEquipment FROM orderform WHERE orderNo='$orderNo'"); // here are the checked data 
$statement->execute(); 
$result = $statement->fetchAll(PDO::FETCH_ASSOC); 
    foreach($result as $row4){ 
     $leavingEquipment = explode(", ",$row4['leavingEquipment']); // Here I use explode I check this with var_dump 
     $statement = $db->prepare("SELECT * FROM equipment"); // here all equipment 
     $statement->execute(); 
     $result = $statement->fetchAll(PDO::FETCH_ASSOC); 
      foreach($result as $row3) { 
       $leavingEquipment3=$row3['equipmentTitle']; 
       ?> 
      <input type="checkbox" name="leavingEquipment[]" value="<?php echo $row3['equipmentTitle']; ?>" <?php if($leavingEquipment==$leavingEquipment3) echo 'checked'; ?>><label class="control-label"><?php echo $row3['equipmentTitle']; ?></label> 
       <?php 
      } 
    } 
?> 

このようVar_dum出力: アレイ(2){[0] =>列(9) "ブルートゥース" 1 =>列(6) "ケーシング"}

それは次のように示します: enter image description here

しかし、私はこのような必要があります。事前に enter image description here

感謝。あなたは、文字列$leavingEquipment3で配列$leavingEquipmentを比較している

<input ... name="leavingEquipment[]" } value="<?php echo $row3['equipmentTitle']; ?>" <?php if($leavingEquipment==$leavingEquipment3) echo 'checked'; ?>> ... 
            ^a lone closing bracket         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

答えて

2

は、こちらを参照してください。

代わりにin_array()機能を使用して、チェックボックスが既にオンになっているかどうか、つまり装置が既にアレイに入っているかどうかを確認します。だからあなたの内部foreachループはこのようになるはずです:

// your code 

foreach($result as $row3) { 
    $leavingEquipment3=$row3['equipmentTitle']; 
    ?> 
    <input type="checkbox" name="leavingEquipment[]" value="<?php echo $row3['equipmentTitle']; ?>" <?php if(in_array($leavingEquipment3, $leavingEquipment)){ echo " checked='checked'"; } ?>> 
    <label class="control-label"><?php echo $row3['equipmentTitle']; ?></label> 
    <?php 
} 

// your code 
+0

長い閉じ括弧は間違っていました。 –

+0

ありがとうございました..多くの多くの感謝 –

+0

@AmranurRahmanあなたは大歓迎です! :-) –

関連する問題