테스트 사이트 - 개발 중인 베타 버전입니다

여분필드 체크박스 사용법 채택완료

코쟁히 3년 전 조회 4,106

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=177">https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=177

 

위 링크 참고해서 지역 선택 체크박스를 만들었습니다.

서울에서 부산까지 단일 지역은 입력, 출력 다 정상적으로 됩니다.

근데 전국을 선택해야하는데 방법을 모르겠습니다.

그냥 value에 전국을 넣고 배열에 전국을 넣으면 전국을 선택했을때 다른 지역으로는 검색이 안되는 문제가 있더라구요..

 

전국지역이 포함된 전국 체크 박스를 만들려면 어떻게 해야될까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 7개

채택된 답변
+20 포인트
3년 전

그누보드 코드에 대한 기본지식 없이 이런 종류의 작업을 하겠다는 것은 불가능한 일 입니다 ㅋ

 

</p>

<p><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>fsearch<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>fsearch<span class="token punctuation">"</span></span> <span class="token attr-name">method</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>get<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>m-auto<span class="token punctuation">"</span></span><span class="token style-attr language-css"><span class="token attr-name"> <span class="token attr-name">style</span></span><span class="token punctuation">="</span><span class="token attr-value"><span class="token property">max-width</span><span class="token punctuation">:</span><span class="token number">600</span><span class="token unit">px</span><span class="token punctuation">;</span></span><span class="token punctuation">"</span></span><span class="token punctuation">></span></span>

--> 수정</p>

<p><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>fsearch<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>fsearch<span class="token punctuation">"</span></span> <span class="token attr-name">method</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>get<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>m-auto<span class="token punctuation">"</span></span><span class="token style-attr language-css"><span class="token attr-name"> <span class="token attr-name">style</span></span><span class="token punctuation">="</span><span class="token attr-value"><span class="token property">max-width</span><span class="token punctuation">:</span><span class="token number">600</span><span class="token unit">px</span><span class="token punctuation">;</span></span><span class="token punctuation">" onsubmit="return sch_chk()"</span></span><span class="token punctuation">></span></span></p>

<p><input type='hiddden' name='sop' value='or'></p>

<p> </p>

<p>하단추가</p>

<p><script></p>

<p>function sch_chk(){</p>

<p> stx = $("#bo_stx").val();</p>

<p> if(stx=='전국') $("#bo_stx").val(''); //전국을 입력하거나 입력없이 검색하면 검색 조건 없이 모드 나옴</p>

<p>else $("#bo_stx").val(stx+' 전국'); //서울을 입력하면 서울 or 전국을 검색 함</p>

<p>return true;</p>

<p>}</p>

<p></script></p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

저도 궁금했던건데 고맙습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

복스리
3년 전

너무 고생만하고 결과물이 안나오면 조금 허탈할수 있네요..

작업의뢰에 한번 올려보시는것도 방법이 될수 있을 듯 하네요.

 

죄송한 말씀이 될수 있을지도 모르겠는데요.

qna에는 대채적으로 궁금한 부분이라던지 해결이 안되는 부분에 질문을 올리는게 맞는데 소소를 올려놓구 계속적으로 이것좀 봐주세요..하는 부분은 조금 아닌듯합니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

코쟁히
3년 전
코드를 올려야 답변을 해주실수있다하여 올렸습니다..
이런쪽으로는 워낙 문외한이다보니..
불편을 드렸다면 죄송합니다ㅠ

댓글을 작성하려면 로그인이 필요합니다.

3년 전

이전 질문 댓글에서

====================

a업체가 전국을 선택해서 등록했으면 고객이 서울을 검색했을때 전국으로 체크된 a 업체도 검색이 되야하는데 안되더라구요;

====================

이것이 핵심인데 핵심은 빼고 질문을 하면 답변들은 위와 같이 되는 것입니다

또한 검색을 어떻게 하는지 즉 그누보드 기본 검색 방법은 sfl, stx를 사용하는 것인데 별도 검색폼을 만든 것이 있나요?

또한 bbs/list.php를 수정할 줄 아는지 등 내용이 있어야 제대로 된 답변도 가능합니다

검색에서 서울을 검색하면 서울, 서울,경기, 전국 이와 같은 것이 모두 검색 되어야 하는 것이겟죠

이런 설명들을 해야죠

 

bbs/list.php를 전혀 수정하지않고 하는 방법입니다

1. 등록시 전국을 선택하면 값이 <전국>만 들어가게 만드세요

2. 검색에서 전국을 검색하면 값이 전국이든 서울이든 모두 나와야 할테니 검색 값이 없도록 만드세요

3. 서울을 검색하면 (sfl=wr_1, stx=서울) 이렇게 값이 넘어가겠죠?

이것만 가지고서는 전국을 검색에 들어가도록 할 수 없습니다 

여기에서 stx='서울 전국' 으로 값이 넘어가도록 만드세요

검색버튼을 누르면 자바스크립트로 <전국>을 추가하도록 해야합니다

4.  검색폼에서 sop = or 로 값을 설정하세요

 

위 내용으로는 도저히 처리 불가능한 상황이면 검색폼이라도 소스를 올려보세요

어떻게 처리를 하고 잇는지 알아야 답변을 할 수 있으니까요

 

 

 

 


 

 

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

코쟁히
3년 전
워낙 초보자다 보니 질문을 조리있게 못하겠네요ㅠㅠ 죄송합니다ㅠ

현재 그누보드 테마사용중이구요, 보드는 테마 보드 복사해서 수정하여 사용하고 있습니다.

질문드린 내용은 현재 write.skin.php에서 업체가 정해진 폼에 내용을 입력하면 받아와서 list.skin.php로 출력하고 있습니다.
코드는 아래와 같은 형태구요
[code]
write.skin.php
<!-- 셀랙트 박스 -->
<?php
$check1 = explode(",", $write['wr_5']);
?>
<li class="wr_n_list">
<label>지역<strong class="sr-only">필수</strong></label>
<div>
<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"' : '' ?>>인천
----생략-------
</div>



list.skin.php
<li class="pdlist">
<a href="<?php echo $list[$i]['href'] ?>" class="na-subject"<?php echo $target ?>>
<div class="pdbox">
<p><?php echo $list[$i]['wr_15'] ?></p>
<p><?php echo $list[$i]['wr_16'] ?></p>
<p><?php echo $list[$i]['wr_17'] ?></p>
<p><?php echo $list[$i]['wr_18'] ?></p>
<p><?php echo $list[$i]['wr_19'] ?></p>
</div>
<div class="pdnum">
<span><?php echo $list[$i]['wr_2'] ?></span>
<span><?php echo $list[$i]['wr_5'] ?></span>
</div>
<div class="pdid">
<span><?php echo $list[$i]['wr_1'] ?></span>
<span>상세보기</span>
</div>
</a>
</li>
<?php } ?>
[/code]

입력, 출력 자체는 문제가 없이 잘 되고 있습니다.
근데 전국값을 설정하는 방법을 모르겠습니다ㅠ
위 코드대로하면 전국을 선택했을때 list에 출력값이 전국||서울 --- 이런식으로 출력이됩니다.
전국을 선택해서 입력이 들어오면 출력은 전국으로만되고 검색했을때는 서울, 경기, 인천 이런 지역들에도 검색이 됐으면합니다.

검색폼 소스는 아래에 첨부하겠습니다.
[code]
<!-- 검색창 시작 { -->
<div id="bo_search" class="collapse<?php echo ((isset($boset['search_open']) && $boset['search_open']) || $stx) ? ' show' : ''; ?>">
<div class="alert bg-light border p-2 p-sm-3 mb-3 mx-3 mx-sm-0">
<form id="fsearch" name="fsearch" method="get" class="m-auto" style="max-width:600px;">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<div class="form-row mx-n1">
<div class="col-6 col-sm-3 px-1">
<label for="sfl" class="sr-only">검색대상</label>
<select name="sfl" class="custom-select">
<option value="wr_5"<?php echo get_selected($sfl, 'wr_5'); ?>>전체</option>
</select>
</div>
<div class="col-12 col-sm-6 pt-2 pt-sm-0 px-1">
<label for="stx" class="sr-only">검색어</label>
<div class="input-group">
<input type="text" id="bo_stx" name="stx" value="<?php echo stripslashes($stx) ?>" required class="form-control" placeholder="검색어를 입력해 주세요.">
<div class="input-group-append">
<button type="submit" class="btn btn-primary" title="검색하기">
<i class="fa fa-search" aria-hidden="true"></i>
<span class="sr-only">검색하기</span>
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- } 검색창 끝 -->
[/code]

댓글을 작성하려면 로그인이 필요합니다.

integer type을 bit 단위로 데이터를 저장하는 방식도 있습니다.

1 - 서울   0000001

2 - 경기도  0000010

4 - 강원도  00000100

...

255 전국   11111111

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
3년 전

전국체크시에는 쿼리문에 지역 쿼리문을 따로 사용하지 않도록 적용하셔도 될듯 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

복스리
3년 전

전국지역이면  모든지역을 포함하는게 아닐까요?

 

그냥 전국과 각지역을 2개로 구성해서 전국을 선택하면 모든지역을 체크하도록 스크립을 만들면 어떨까요? 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인