첨부파일 https://eond.com/gnuboard/435215

체크박스를 사용할 때 필드 값을 배열로 처리하는 방법입니다.

이전 여분 필드 강좌에서는 배열 처리 후 각각 다른 name으로 재 지정했었는데 이번 방법은 차이가 있습니다.

좀 더 단순해졌고 선택하지 않은 값은 구분 기호가 생략돼서 출력할 때 별도 처리를 안 해도 됩니다.

이 방법보다 더 간편하게 줄일 수도 있는데 여러 방법을 올리는 중입니다.

참고해서 목적에 맞게 원하는 방식으로 사용하세요.


예제는 구분 기호로 콤마( , )를 사용했으며 이 값이 value 값에 포함되면 안 됩니다.


value 값은 이 부분을 말합니다.
value="사과"<?php echo in_array("사과", $check1) ? ' checked="checked"' : '' ?>>
예를 들어 "사과,복숭아" 이런 식으로 값에 쉼표를 추가하면 안 됩니다.

value 값에 콤마를 넣어야 한다면 반드시 다른 구분 기호로 변경해야 합니다.

근데 다른 기호로 변경했다면 출력 부분에서 별도의 수정이 필요할 수도 있습니다.



1. write 페이지 : write.skin.php


<?php
$check1 = explode(",", $write['wr_1']);
$check2 = explode(",", $write['wr_2']);
?>
과일 :
<input type="checkbox" name="check1[]" value="사과"<?php echo in_array("사과", $check1) ? ' checked="checked"' : '' ?>> 사과
<input type="checkbox" name="check1[]" value="수박"<?php echo in_array("수박", $check1) ? ' checked="checked"' : '' ?>> 수박
<input type="checkbox" name="check1[]" value="딸기"<?php echo in_array("딸기", $check1) ? ' checked="checked"' : '' ?>> 딸기
<input type="checkbox" name="check1[]" value="포도"<?php echo in_array("포도", $check1) ? ' checked="checked"' : '' ?>> 포도
<input type="checkbox" name="check1[]" value="참외"<?php echo in_array("참외", $check1) ? ' checked="checked"' : '' ?>> 참외
<br>
취미 :
<input type="checkbox" name="check2[]" value="낚시"<?php echo in_array("낚시", $check2) ? ' checked="checked"' : '' ?>> 낚시
<input type="checkbox" name="check2[]" value="등산"<?php echo in_array("등산", $check2) ? ' checked="checked"' : '' ?>> 등산
<input type="checkbox" name="check2[]" value="사진"<?php echo in_array("사진", $check2) ? ' checked="checked"' : '' ?>> 사진
<input type="checkbox" name="check2[]" value="여행"<?php echo in_array("여행", $check2) ? ' checked="checked"' : '' ?>> 여행



1-1.  write_update.skin.php


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_1 = implode(',', $_POST['check1']);
$wr_2 = implode(',', $_POST['check2']);
sql_query(" update $write_table set wr_1 = '$wr_1', wr_2 = '$wr_2' where wr_id = '$wr_id' ");
?>



2. view 페이지 : view.skin.php


2-1. 선택한 값의 글자만 출력.

과일 : <?php echo $view['wr_1']; ?><br>
취미 : <?php echo $view['wr_2']; ?>


2-2. 체크박스 모양 그대로 출력.

<?php
$check1 = explode(",", $view['wr_1']);
$check2 = explode(",", $view['wr_2']);
?>
과일 :
<input type="checkbox" name="check1[]" value="사과"<?php echo in_array("사과", $check1) ? ' checked="checked"' : '' ?>> 사과
<input type="checkbox" name="check1[]" value="수박"<?php echo in_array("수박", $check1) ? ' checked="checked"' : '' ?>> 수박
<input type="checkbox" name="check1[]" value="딸기"<?php echo in_array("딸기", $check1) ? ' checked="checked"' : '' ?>> 딸기
<input type="checkbox" name="check1[]" value="포도"<?php echo in_array("포도", $check1) ? ' checked="checked"' : '' ?>> 포도
<input type="checkbox" name="check1[]" value="참외"<?php echo in_array("참외", $check1) ? ' checked="checked"' : '' ?>> 참외
<br>
취미 :
<input type="checkbox" name="check2[]" value="낚시"<?php echo in_array("낚시", $check2) ? ' checked="checked"' : '' ?>> 낚시
<input type="checkbox" name="check2[]" value="등산"<?php echo in_array("등산", $check2) ? ' checked="checked"' : '' ?>> 등산
<input type="checkbox" name="check2[]" value="사진"<?php echo in_array("사진", $check2) ? ' checked="checked"' : '' ?>> 사진
<input type="checkbox" name="check2[]" value="여행"<?php echo in_array("여행", $check2) ? ' checked="checked"' : '' ?>> 여행



글자만 출력될 때와 체크박스 모양 그대로 출력될 때의 결과 화면

4a2e27299dd8e624908c1dfb83d241ef_1552108947_0139.gif 



3. list 페이지 : list.skin.php


체크한 값만 저장되기 때문에 이렇게 직접 출력해도 됩니다.


<?php echo $list[$i]['wr_1'] ?>

<?php echo $list[$i]['wr_2'] ?>


출처 : https://sir.kr/g5_tip/4296


코멘트 0
접기/펴기 | 댓글 새로고침
 
 
Total 75 articles in 1 / 4 pages
번호 제목 제목 글쓴이 글쓴이 날짜날짜 조회 수
공지 그누보드 팁사이트 이온디 2018/01/22 91
75 [잡담] 나리야 빌더 이용하시는 분 계신가요 [1] 이온디 2020/07/08 117
현재글 [팁] 여분필드를 체크박스로 사용할 때 배열로 처리하는 방법 이온디 2020/07/02 94
73 [팁] 여분필드를 게시판 리스트에 출력 이온디 2020/07/02 50
72 [팁] 그누보드 여분필드 이온디 2020/07/02 19
71 [팁] 게시판 리스트에서 링크 이온디 2020/07/02 11
70 [팁] 그누보드5 - 게시판목록에 내용 노출하기 파일 이온디 2020/07/02 89
69 [팁] 본문 내용을 리스트에 출력할 때 줄바꿈 문제 이온디 2020/07/02 13
68 그누보드 sitemap.xml 이온디 2020/06/25 80
67 [팁] 그누보드 나리야 웹진게시판 만들기 이온디 2020/06/19 65
66 [잡담] 그누보드 여분필드 관련글 이온디 2020/06/06 25
65 [잡담] 그누보드 참조 레이아웃 이온디 2020/06/06 49
64 [팁] XE to 그누보드 이전 이온디 2020/06/06 27
63 [팁] [나리야] 게시판 리스트에 회원레벨아이콘 표시하기 이온디 2020/06/04 118
62 [팁] 댓글 여부 이온디 2020/06/04 31
61 [팁] 글쓰기 기본 양식 설정 이온디 2020/06/04 108
60 [잡담] 최신글위젯-갤러리형 슬라이드 위젯 이온디 2020/06/03 64
59 그누보드 한줄뉴스 뉴스티커 전광판 한줄게시물 슬라이딩 이온디 2020/06/02 55
58 [팁] 최신글 일반 탭메뉴(둘째삼식) 파일 [1] 이온디 2020/05/25 59
57 [팁] 최신글 G5용 "무한 탭최신글"스킨(3종) 및 라이브러리입니다.(모바일 포함) 파일 이온디 2020/05/25 55
56 [잡담] 그누보드는 탭형 최근게시물 위젯이 없....나요.. 이온디 2020/05/25 44

해시태그 디렉터리