테스트 사이트 - 개발 중인 베타 버전입니다

for문 으로 돌린 체크박스 수정화면에서 풀림 문제 채택완료

marquest 3년 전 조회 2,163

지금 write.skin에서는

 

</strong></p>

<p><?  for ($j=0; $j<count($arr); $j++) {  ?>

        input type="checkbox" name="wr_50[]" value="<?= $arr[$j] ?>"> <?= $arr[$j] ?></p>

<p><?  } ?></p>

<p><strong>

 

이렇게 for문으로 배열에서 받은 데이터를 뿌려주고있습니다. 

배열로 뿌리는 이유는 게시물마다 주차가 다 다릅니다.

예를들어 데이터가 4주|6주|7주 이런식으로 구분자포함해서 wr_30컬럼에 주차가 들어가있고

이 데이터를 explode로 배열 처리후 체크박스로  ㅁ4주   ㅁ6주   ㅁ7주  이렇게 나오게 위에 코드처럼 for문을 돌렸는데

업데이트나 인서트는 정상적으로 들어갑니다 

 

인서트할때는 체크된 항목이  |구분자를 넣어서 4주|6주 이렇게 wr_50컬럼으로 들어갑니다.

 

근데 수정화면에서는  checked 처리를 어떻게 해야할지 몰라서 풀려있는 화면만 나오는데

<?php echo ($write['wr_50'] == '여기에 어떻게 처리를 해야할지') ? " checked" : "";?>

제가 초보라 잘 모르겠네요

 

고수님들 부탁드립니다

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
Policia
3년 전

$write['wr_50']는 그럼 문자열이니 다시 배열화 해서 비교하시면 더 쉽게 가능합니다

 

//배열화

$wr_50 = explode('|', $write['wr_50']);

 

//해당 input의 값이 배열에 포함되는지 검사(in_array)

<?php echo (in_array($arr[$j], $wr_50)) ? " checked" : "";?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
marquest
3년 전
와 빠른 답변 감사하고
정확하게 체크되어 나오네요
역시 고수는 다르네요 한참 고민했는데 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인