게시판 폼 하나 짜고 있는데 하나가 막혀서요
본문
안녕하세요
추석 명절은 잘 보내고 계시는지 모르겠습니다.
다름이 아니오라
현제 제가 게시판 폼을 하나 만들고 있는데요
체크 박스에서 막히는 상태라서요
그런데 어떤 분이 $arr = implode(",", checkbox name); 이 코드 한줄이면 다 해결이 도니다고 하는데
이것을 어디에다가 적용을 해야 하는지 잘 몰라서요
현제 체크 박스 코딩은
<tr>
<th scope="row"><label for="sponsordate">기타사항</label></th>
<td colspan="3">
<input type="checkbox" name="sponsordate" <?php if( $write['sponsordate'] == "1층 강당" ){?> checked <?php }?> value="5"> 책상
<input type="text" name="sponsordate" id="sponsordate5" style="width:100px;" value="<?php echo $write['sponsordate']; ?>" class="frm_input" size="20" maxlength="50"/>
<input type="checkbox" name="sponsordate" <?php if( $write['sponsordate'] == "2층 도서관" ){?> checked <?php }?> value="10"> 의자
<input type="text" name="sponsordate" id="sponsordate5" style="width:100px;" value="<?php echo $write['sponsordate']; ?>" class="frm_input" size="20" maxlength="50"/>
<input type="checkbox" name="sponsordate" <?php if( $write['sponsordate'] == "2층 도서관" ){?> checked <?php }?> value="10"> 기타
<input type="text" name="sponsordate1" id="sponsordate5" style="width:150px;" value="<?php echo $write['sponsordate']; ?>" class="frm_input" size="20" maxlength="50"/>
</td>
</tr>
이렇게 해 두었는데요
이렇게 하면 적용이 되는 것인지 궁금 합니다.
책상 과 의자는 체크를 하고 나서 수량을 적어야 합니다.
그런데 위에 적힌 코드대로 하면 되는지요 되지 않아서요
고수님들게서 보시고 답변좀 부탁을 드려도 될까요
답변 2
implode가 정상적으로 작동했는지 점검해보세요.
1. 체크박스 같은 경우 통상 동일한 이름으로 처리합니다.
2. implode는 DB 입력전에 처리합니다.
3. 수정을 위해서 explode로 다시 배열로 처리해서 비교 합니다.(다른 방법들도 많긴 합니다만 우선 예시로)
4. 여분필드를 활용했습니다(wr_1). 여분필드 외 다른 필드 사용의 경우 필드생성후 DB업데이트 처리도 같이 해주어야 합니다.
다해서 대략 아래와 같은 코드가 나옵니다.
// write.skin.php(사용하는 스킨 폴더의 파일)
<?php
$sponsordate = explode(',',$write['wr_1']);
?>
.....
<input type="checkbox" name="sponsordate[]" <?php if(in_array("책상", $sponsordate)) echo 'checked'; ?> value="책상"> 책상
......
// write_update.head.skin.php (사용하는 스킨폴더에 신규생성, 파일 있다면 아래소스 추가)
$wr_1 = implode(',', $sponsordate);