2016-10-16 1 views
1

그래서 내가 원하는 체크 박스 입력이 이미 MySQL 데이터에 따라 다음 체크 표시되어있는 경우 업데이 트 양식이 있습니다.멀티 체크 박스에서 쉼표 (,)로 구분됩니다 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)의 "Bluetooth"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 대단히 환영합니다! :-) –

관련 문제