게시판 폼 하나 짜고 있는데 하나가 막혀서요

게시판 폼 하나 짜고 있는데 하나가 막혀서요

QA

게시판 폼 하나 짜고 있는데 하나가 막혀서요

본문

안녕하세요

추석 명절은 잘 보내고 계시는지 모르겠습니다.

다름이 아니오라

현제 제가 게시판 폼을 하나 만들고 있는데요

체크 박스에서 막히는 상태라서요

그런데 어떤 분이 $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가 정상적으로 작동했는지 점검해보세요.

$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"> 의자&nbsp;&nbsp;
      <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"> 기타&nbsp;&nbsp;
      <input type="text" name="sponsordate1" id="sponsordate5" style="width:150px;" value="<?php echo $write['sponsordate']; ?>"  class="frm_input" size="20" maxlength="50"/>
    </td>
  </tr>
이것만 사용해도 되는건가요

아 그리고 체크박스 같은 경우에는 name 값을 다 다르게 해줘야 맞는 것인지 아님 틀리게 해줘야 맞는 것인지 모르겠어요
죄송해요
제가 잘 몰라서요

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);


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

회원로그인

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