등록된 브랜드명(It_brand) 셀렉트로 뽑아오기 > 영카트5 팁자료실

영카트5 팁자료실

등록된 브랜드명(It_brand) 셀렉트로 뽑아오기 정보

등록된 브랜드명(It_brand) 셀렉트로 뽑아오기

본문

작업중에 구현했던부분 공유 합니다.

상품 등록시 입력한 브랜드명(It_brand)을 셀렉트로
뽑아오는 방법 입니다. 브랜드 검색을 만들거나 브랜드 바로가기 등으로
활용하면 좋을것 같습니다.

중복되는 브랜드명을 한개로 묶어주기위해 group by 를 사용했고 정렬은 asc 입니다.

아래 쿼리문과 for문을 넣어주고,


<?php
function get_brand_view($fild, $it_id) 
{ 
$sql = " select * from g5_shop_item group by it_brand order by it_brand asc"; 
    $result = sql_query($sql); 
    for ($i=0; $row=sql_fetch_array($result); $i++) 
    { 
        $str .= "<option value='$row[it_brand]'"; 
        $str .= ">$row[it_brand]</option>"; 
    } 
    return $str; 
} 
?>


출력시킬 곳에


<select>
    <option value="">브랜드</option>
    <?php echo get_brand_view($fild, $it_id) ?>
</select>



를 넣어주면 끝입니다.

첨부된 캡쳐와 같이 좀더 응용해서 브랜드검색 등으로 활용할 수 있고
g5_shop_item 테이블에 있는 다른 정보들도 컬럼명만 변경 또는 추가 하면
쉽게 출력할 수 있습니다~

<select> 대신 checkbox 등으로도 활용할 수 있겠지요!

감사합니다.
추천
8

댓글 37개

상품등록 > 필드명 it_brand 에 내용이 입력된 상품은 있으신거죠?
DB상에 테이블명 : g5_shop_item / 컬럼명 : it_brand 에
값이 있는 데이터가 있는지 확인해보셔요
필드는 만진것이 없어서요.
그대로 예요. 혹시나 봤는데 .... item 쪽에 it_barand
잘 있습니다.

전 it_maker 에 적용해 보려고 하구요. it_maker 도 필드
그대로 있습니다.

<?php
function get_maker_view($fild, $it_id)
{
$sql = " select * from g5_shop_item group by it_maker order by it_maker asc";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$str .= "<option value='$row[it_maker]'";
$str .= ">$row[it_maker]</option>";
}
return $str;
}
?>

<select>
<option value="">■■■■ 제조사 바로가기 ■■■■</option>
<?php echo get_maker_view($fild, $it_id) ?>
</select>

식으로 했습니다. 아무런 반응이 없어서요.
이거 혹시 셀렉트 박스 선택 후 검색 버튼 눌러야 작동 하는건가요?
아..ㅎㅎ 추출만 해주는 코드입니다...
셀렉트로 뽑아오는 방법<< 이라고 내용에도 ㅎㅎ

셀렉트박스 선택시 검색을 하는 부분은 구현을 해주셔야 되세요~

search 부분에 쿼리문이나 필드를 추가 해주시고
셀렉트 박스에 스크립트나 폼전송 부분을 추가하시면 되겠네요~
답변이 많이 늦었네요.... ㅎ;; 혹시라도 보실까봐 댓글드립니다. ㅎ
if문으로 공백 없는것만 보이게 처리하시면 될거같아요.

if (!$row[it_maker] == '') {
$str .= "<option value='$row[it_maker]'";
$str .= ">$row[it_maker]</option>";
}
네 충분히 가능합니다.
추출하는 부분은 셀렉트가 아닌 체크박스 형태로 뽑아주고
체크시 ajax 를 이용한 처리나 클릭이벤트로 가능하세요~
정말 좋은 자료 감사합니다. 셀렉트박스에
it_brand값이 없는것은 "미분류",
전체를 볼수있는 "전체보기"
를 추가하고싶은데 어떻게 해야할까요? ㅠㅜㅠ


미분류 라는 셀렉트를 보여주는거보다는 필터 용도라면
분류가 없는건 안보여주는게 맞을거같은데 음.

암튼 it_brand 값이 없을때 조건을 주면 될거같습니다.

if ($row[it_brand] == '') {
    $str .= "<option value=''";
    $str .= ">미분류</option>";
} else {
    $str .= "<option value='$row[it_brand]'";
    $str .= ">$row[it_brand]</option>";
}

와 같은식으로 해줘야될거같네요~

전체보기가 셀렉트시에 url 이동을 말씀하시는 거라면
셀렉트에 on change 이벤트를 걸어서 선택시에 url 이동을 할 수 있게끔
하나 추가해주면 되겠네요~

onchange 이벤트를 <select>에 걸어주고
<?php echo get_brand_view($fild, $it_id) ?>
아래쪽에 option을 하나 추가하면 될거같습니다.
<option value='주소'>전체보기</option>

다만 select에 이벤트를 거는 경우는
다른 <option>에도 적용이 되니 애매하긴하네요 ㅠ

검색 버튼이 따로 존재하고 form으로 셀렉트값을 넘기시는 거면
value를 공백으로 넣으시면 될것 같습니다.
감사합니다 도움이 많이 되었습니다 해결했네요 ㅠㅠ 펄스나인님 덕분에 쉽게 list.php에서 브랜드별로 필터링하여 볼수있도록 되었네요
안녕하세요 혹시 위에댓글내용인 list.php에서 브랜드별로 필터링해서 볼수있는것에대해 조금만더 자세히 설명해주실수있을까요...?ㅜㅜ


브랜드를 셀렉트로 뽑아와서 셀렉트에
이벤트를 걸어서 검색으로 연결해주는 방식 입니다~

<select onchange="if(this.value) window.location.href = this.value;">
    <option value="Url">브랜드명</option>
</select>

또는 form 을 활용할수도 있습니다~
전체 392
영카트5 팁자료실 내용 검색

회원로그인

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