채택완료

여분필드 검색 오류

2016-07-25 (월) 15:29:03 3,870

search.php에

if ($it_stand) 
    $where[] = " it_4 = '$it_4' ";

를 추가하고

$query_string .= '&qname='.$qname.'&qexplan='.$qexplan.'&qid='.$qid.'&qtag='.$qtag.'&amp';'it_stand='.$it_4.'&amp';

를 추가하고

seach.skin에

<input type="hidden" name="it_stand" id="it_stand" value="<?php echo $it_stand ?>">

<input type="radio" name="it_stand" value="" id="it_stand0" <?php echo get_checked($it_stand, ''); ?>>
<label for="it_stand0">전체</label>
<input type="radio" name="it_stand" value="yes" id="it_stand1" <?php echo get_checked($it_stand, 'yes'); ?>>
<label for="it_stand1">스탠드형</label>
<input type="radio" name="it_stand" value="no" id="it_stand2" <?php echo get_checked($it_stand, 'no');  ?>>
<label for="it_stand2">비스탠드형</label>

를 추가했습니다.

전체를 선택하면 제대로 나오는데 스탠드형이나 비스탠드형을 선택시 아무것도 안나옵니다 ㅠㅠ

무엇이 잘못됐나요?

여분필드 4번 항목입니다. 

답변 7개 / 댓글 10개

채택된 답변
+20 포인트

echo $sql;

exit;

로 $sql문을 찍어보시길 바랍니다.

 

소스를 보니 implode하면서 and를 자동으로 붙여주는군요.ㅎ

답변에 대한 댓글 1개

붙여도 안돼요 ㅠㅠ

찍어봤더니

select COUNT(*) as cnt from g5_shop_item a, g5_shop_category b where (a.ca_id = b.ca_id and a.it_use = 1 and b.ca_use = 1) and , it_4 = ''

라고 나와요

되는거 쓰세요.ㅎㅎ

모로 가든 되기만 하면 됩니다.ㅎㅎ

정리하자면 it_4 에 'yes', 'no'가 들어있단 말이죠?

$it_4 = $_REQUEST['it_stand'];

if ($it_4) 
        $where[] = " it_4 = '$it_4' "; ​

 

​$query_string .= '&amp;qname='.$qname.'&amp;qexplan='.$qexplan.'&amp;qid='.$qid.'&amp;qtag='.$qtag.'&amp;it_stand='.$it_4;

 

​<input type="radio" name="it_stand" value="" id="it_stand0" <?php echo get_checked($_GET['it_stand'], ''); ?>>
<label for="it_stand0">전체</label>
<input type="radio" name="it_stand" value="yes" id="it_stand1" <?php echo get_checked($_GET['it_stand'], 'yes'); ?>>
<label for="it_stand1">스탠드형</label>
<input type="radio" name="it_stand" value="no" id="it_stand2" <?php echo get_checked($_GET['it_stand'], 'no');  ?>>
<label for="it_stand2">비스탠드형</label>
 

답변에 대한 댓글 2개

php 7.0이라 그런가요? 지금 하는대로 따라하면 페이지가 아예 오류가 나서 안열려요 ㅠㅠ

본문에서 it_stand를 모두 it_4로 바꾸면 되더라구요
​$query_string 부분도 아예 삭제했는데 정상작동해요 ㅠㅠ

아...긍데...html문도 오류가 있는 것같네요.

<input type="hidden" name="it_stand" id="it_stand" value="<?php echo $it_stand ?>">

 

<input type="radio" name="it_stand" value="" id="it_stand0" <?php echo get_checked($it_stand, ''); ?>>
<label for="it_stand0">전체</label>
<input type="radio" name="it_stand" value="yes" id="it_stand1" <?php echo get_checked($it_stand, 'yes'); ?>>
<label for="it_stand1">스탠드형</label>
<input type="radio" name="it_stand" value="no" id="it_stand2" <?php echo get_checked($it_stand, 'no');  ?>>
<label for="it_stand2">비스탠드형</label>

같은이름을 가진 input이 2개잖아요. (라디오하고 히든)

<input type="hidden" name="it_stand" id="it_stand" value="<?php echo $it_stand ?>"> 이거 지우세요. 

답변에 대한 댓글 3개

네 지웠습니다!
헐.. 지금 wonilone 님 말을 가만히 생각해보고 stand를 it_4로 바꿨더니 정상 작동합니다!!
오예~!!! 너무감사해요

궁금한것이...

it_stand가 it_4에 저장되어있는 건가요?

 

그러면 ​

 

$it_4 = $_REQUEST['it_stand'];

if ($it_4) 
    $where[] = " it_4 = '$it_4' "; ​

 

이렇게 수정해보세요.​ 

답변에 대한 댓글 2개

했더니 아예 오류가 나네요 ㅠㅠ

저장이 되어 있는건 아니고 it_4를 그냥 it_stand라고 명명한..
여분필드의 제목은 stand이고 값이 yes, no에요. 그거 외에는 모두 본문의 것 밖에 추가 안했어요

select COUNT(*) as cnt from g5_shop_item a, g5_shop_category b where (a.ca_id = b.ca_id and a.it_use = 1 and b.ca_use = 1) and it_4 = '' 

이렇게 구문이 나오면 문제없을 것 같네요.

데이터 가져오는 부분도 찍어봐주세요. 

답변에 대한 댓글 1개

데이터 가져오는 부분을 어떻게 찍죠? ㅠㅠ

아.. 이전에 달았던 댓글은 잊어버리세요. 소스를 보니 필요없네요. 자동으로 and를 붙여줘서..ㅎㅎ 

답변에 대한 댓글 1개

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