for문 으로 돌린 체크박스 수정화면에서 풀림 문제
본문
지금 write.skin에서는
<? for ($j=0; $j<count($arr); $j++) { ?>
input type="checkbox" name="wr_50[]" value="<?= $arr[$j] ?>"> <?= $arr[$j] ?>
<? } ?>
이렇게 for문으로 배열에서 받은 데이터를 뿌려주고있습니다.
배열로 뿌리는 이유는 게시물마다 주차가 다 다릅니다.
예를들어 데이터가 4주|6주|7주 이런식으로 구분자포함해서 wr_30컬럼에 주차가 들어가있고
이 데이터를 explode로 배열 처리후 체크박스로 ㅁ4주 ㅁ6주 ㅁ7주 이렇게 나오게 위에 코드처럼 for문을 돌렸는데
업데이트나 인서트는 정상적으로 들어갑니다
인서트할때는 체크된 항목이 |구분자를 넣어서 4주|6주 이렇게 wr_50컬럼으로 들어갑니다.
근데 수정화면에서는 checked 처리를 어떻게 해야할지 몰라서 풀려있는 화면만 나오는데
<?php echo ($write['wr_50'] == '여기에 어떻게 처리를 해야할지') ? " checked" : "";?>
제가 초보라 잘 모르겠네요
고수님들 부탁드립니다
!-->답변 1
$write['wr_50']는 그럼 문자열이니 다시 배열화 해서 비교하시면 더 쉽게 가능합니다
//배열화
$wr_50 = explode('|', $write['wr_50']);
//해당 input의 값이 배열에 포함되는지 검사(in_array)
<?php echo (in_array($arr[$j], $wr_50)) ? " checked" : "";?>
답변을 작성하시기 전에 로그인 해주세요.