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

위시리스트 구별 채택완료

블랑숑 8년 전 조회 3,942

위시리스트에 있는 상품과 없는 상품을 구별하는 것을 다른 분이 만들어주셨는데요

 

function wish_icon($it) {     global $g5;       $icon = '';       // 위쉬     $sql = " select a.wi_id, a.wi_time, b.* from {$g5['g5_shop_wish_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id ) where a.mb_id = '{$member['mb_id']}' order by a.wi_id desc";       $row = sql_fetch($sql);     if($row['it_id'])         $icon .= '';       $icon .= '';       return $icon; }

 

동작을 안하네요 ㅠㅠ

 

if에 else를 붙이면 모든 상품에 표시가 되는데 

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

답변 3개

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

작동을 하더라도 위 소스코드는  리스트에 20개의 상품이 있으면 20번 쿼리를 해야하니 바람직한 방법은 아닙니다 

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

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

균이님 그럼 코드 몇줄만 살짝 보여주시면 감사하겠습니다.

 

한수 좀 부탁드립니다.

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

답변에 대한 댓글 1개

균이
8년 전
위시리스트 목록이 아주 많은 것이 아니므로 아래와 같이 한번만 쿼리하면 됩니다

$qq=sql_query("select it_id from {$g5['g5_shop_wish_table']} where mb_id = '{$member['mb_id']}' ");
$wishArr=array();
while($row=sql_fetch_array($qq)) $wishArr[]=$row[it_id];


출력할 곳 (for문 아래쪽)
<?php if (in_array($row['it_id'], $wishArr)) echo "<위시>"; ?>

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

8년 전

 $sql = " select a.wi_id, a.wi_time, b.* from {$g5['g5_shop_wish_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id ) where a.mb_id = '{$member['mb_id']}' order by a.wi_id desc"; 

쿼리부분을 echo 해서 쿼리부터 확인하세여

쿼리찍어서 값이 나오는지부터 확인하는게 맞을거같아여

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

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

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

로그인