여분필드 체크박스 다중 선택 이렇게하면 되는건가요?

여분필드 체크박스 다중 선택 이렇게하면 되는건가요?

QA

여분필드 체크박스 다중 선택 이렇게하면 되는건가요?

본문

질문이 조금 이상한데, 체크박스 다중 선택 만드는 방법이 나와있는 게시물이 있는데요.

전에 그 게시물을 토대로 질문했었을때, 불가능한 방법이라고 했던것 같아 맞는 방법인지 여쭤봅니다....

 

 

원본링크: http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=10 

 

 

5-1. 체크박스 다중 선택

 

다중 선택할 땐 각각 다른 여분필드를 여러 개 추가해서 사용하는 방법이 있고

<input type="checkbox" name="wr_5" ..........

<input type="checkbox" name="wr_6" ​..........

<input type="checkbox" name="wr_7 ​..........

 

아니면 여분 필드 하나를 여러 개로 쪼개서 사용하는 방법이 있습니다. 

 

예를 들어 여분필드 8번을 사용한다고 했을 때 write.skin.php 파일에서 이렇게 원하는 개수만큼 추가해서 넣어주고

 

<?php

$ex_8 = explode("|", $write['wr_8']);
?>
<input type="checkbox" name="ex8_00" value="사과" <?php echo ($ex_8[0] == "사과") ? "checked" : "";?>> 사과
<input type="checkbox" name="ex8_01" value="수박" <?php echo ($ex_8[1] == "수박") ? "checked" : "";?>> 수박
<input type="checkbox" name="ex8_02" value="딸기" <?php echo ($ex_8[2] == "딸기") ? "checked" : "";?>> 딸기
<input type="checkbox" name="ex8_03" value="포도" <?php echo ($ex_8[3] == "포도") ? "checked" : "";?>> 포도

<input type="checkbox" name="ex8_04" value="참외" <?php echo ($ex_8[4] == "참외") ? "checked" : "";?>> 참외

 

동일한 스킨 폴더 안에 write_update.skin.php 파일을 새로 만들어 줍니다.

basic 스킨에서는 이 파일은 기본적으로 없을 겁니다. 

파일을 새로 생성한 다음 아래 내용 그대로 복사해서 넣습니다.

위에서 쪼개 놓은 필드를 다시 합쳐서 DB 에 넣는 내용입니다.

 

<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

$wr_8 = "$ex8_00|$ex8_01|$ex8_02|$ex8_03|$ex8_04";

$sql8 = " update {$write_table} set wr_8 = '{$wr_8}' where wr_id = '{$wr_id}' ";

sql_query($sql8);

?>

 

여분필드를 저렇게 쪼개서 저장하고 view.skin.php 파일에서 일반적인 출력 방법인

<?php echo $view['wr_8'] ?> 이렇게 하면 중간 빈자리까지 구분 기호 '|' 가 있어서 뭔가 어색해 보일 겁니다. 

그럴 땐 개별적으로 다시 분리를 해서 출력하는 방법도 있습니다.
비효율적인 방법이지만 이미지로 디자인하거나 페이지 중간에 개별적으로 끼워 넣을 때는 더 편할 때도 있을 겁니다.

직접 해보시고 차이점을 비교해보세요.

 

<?php

$ex_8 = explode("|", $write['wr_8']);

?>

<?php if($ex_8[0]) { ?>사과 <?php } ?>

<?php if($ex_8[1]) { ?>, 수박 <?php } ?>

<?php if($ex_8[2]) { ?>, 딸기 <?php } ?>

<?php if($ex_8[3]) { ?>, 포도 <?php } ?>

<?php if($ex_8[4]) { ?>, 참외<?php } ?>

이 질문에 댓글 쓰기 :

답변 1

예전 질문 글을 보니 올리신 내용과는 무관한 내용 같은데요.

알고자 하시는 건 체크박스로 선택하는 다중 검색쪽 이신 것 같은데 그것과는 전혀 상관없습니다.

네네.......... 체크박스를 이용한 다중검색쪽이였는데,
옛날에 해봤던거라 착각했었네요 ㅎㅎ;

위를 토대로 만들어진 체크박스를 list.skin.php에서 어떻게 다중 검색시킬지를 모르겠네요... ㅠㅠ

예전 질문 글을 쭉 살펴본 결과...
쪼개지 않은 기본 상태의 여분필드면 그나마 나은데 여분 필드 하나를 저렇게 쪼개놓은 걸 다중 검색으로 재 처리하려면 수정할 부분들이 꽤 있을 것 같습니다. QA에서 해결하기엔 힘들 것도 같네요. 다중이라는 글자가 들어가면 원래 좀 복잡해집니다.

관심 정말 감사드리구요

<input type="checkbox" name="wr_4[]" value="사과"> 사과 <input type="checkbox" name="wr_4[]" value="수박"> 수박 <input type="checkbox" name="wr_4[]" value="딸기"> 딸기 <input type="checkbox" name="wr_4[]" value="포도"> 포도 <input type="checkbox" name="wr_4[]" value="참외"> 참외

제대로 확인은 못해봤지만....
이런식으로해서 검색부분에 넣어보니 거의 정상적으로 작동하는것 같습니다(?)

확인해보니....

팁자료실에 있는 다중검색 파일이 없으면 작동하지 않더군요 ㅎㅎ;

순수하게 위의 내용만으로는 다중검색이 작동하지 않네요ㅎㅎ

링크:
http://sir.kr/g5_tip/3003?sfl=wr_subject%7C%7Cwr_content&stx=%EB%8B%A4%EC%A4%91%EA%B2%80%EC%83%89

위의 파일과

글의 내용과 댓글의 부분 합치면 다중검색 기능이 완성되네요 ㅎㅎ

감사합니다

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

회원로그인

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