체크박스 배열을 깔끔하게 정리하는 방법 문의드립니다.

체크박스 배열을 깔끔하게 정리하는 방법 문의드립니다.

QA

체크박스 배열을 깔끔하게 정리하는 방법 문의드립니다.

본문

http://sir.kr/qa/161078 등의 질문에서 거의 다 온 것 같습니다.

 

정확히는 write.skin.php에서 값을 db로 정확히 넘길 수 있게 되었고

출력은 값을 넘길 수 있으니 어찌어찌 하다보면 될 것 같구요..

이제 한가지 글수정할때 db에 입력된 값을 체크값에도 그대로 반영하는 것만 남은 것 같습니다.

 


<?php $roomsize2 = explode("|", $write['room_size_2']); ?>
        <tr>
            <th scope="row"><label for="room_size_2">객실 타입 test</label></th>
            <td>
 <input type="checkbox" name="room_size_2[]" value="농구" <?=in_array("농구", $roomsize2) ? "checked" : ""?> />농구
 <input type="checkbox" name="room_size_2[]" value="축구" <?=in_array("축구", $roomsize2) ? "checked" : ""?> />축구
 <input type="checkbox" name="room_size_2[]" value="배구" <?=in_array("배구", $roomsize2) ? "checked" : ""?> />배구
 <input type="checkbox" name="room_size_2[]" value="야구" <?=in_array("야구", $roomsize2) ? "checked" : ""?> />야구
            </td> 
        </tr>

 

이렇게 하니까 db 값을 제대로 넘기고 글수정때 작성시 체크한 것을 출력하는 것 까지 성공을 했는데요.

체크박스가 많아지게 되면 너무 길어지더라구요.

요걸 깔끔하게 배열로 처리하려면 어떻게 해야 하나요?

 

단순하게 생각해본 것은

 


<?php 
$room_size_2 = array();
$room_size_2[] = '농구';
$room_size_2[] = '축구'; 
$room_size_2[] = '배구'; 
$room_size_2[] = '야구'; 
?>

 

요렇게 array 값을 이용해야하나 싶은데요..

요걸 글 수정시 체크되도록 하는 능력이 없습니다.

 

고수님들 도움이 필요합니다.

 

이 질문에 댓글 쓰기 :

답변 2

소스가 길어져서 바꾸고 싶다는거면 아래처럼 해보세요~ 

 

<?php

$room_size_2 = array('농구','축구','배구','야구');

 

$r_count = count($room_size_2);
for($i=0; $i<$r_count; $i++) {
?>
    <input type="checkbox" name="room_size_2[]" value="<?php echo $room_size_2[$i]?>" <?=in_array($room_size_2[$i], $roomsize2) ? "checked" : ""?> /><?php echo $room_size_2[$i];?>
<?php } ?>
 


$arr = array("농구", "축구", "배구", "야구");
$roomsize2 = explode("|", $write['room_size_2']); 
foreach($arr as $k => $v) {
    $chk = in_array($v, $roomsize2) ? " checked" : ""; 
    echo "<input type='checkbox' name='room_size_2[]' value='".$v."'".$chk.">".$v; 
}

이런 식으로 하셔도 됩니다.

참고하시라고 남깁니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 60,976
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT