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

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

QA

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

답변 1

본문

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

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

 

 

원본링크: 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

위의 파일과

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

감사합니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로