위시리스트에 있는 상품과 없는 상품을 구별하는 것을 다른 분이 만들어주셨는데요
function wish_icon($it)
{
global $g5;
$icon = '<span class="sit_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 .= '<img src="이미지">';
$icon .= '</span>';
return $icon;
}
동작을 안하네요 ㅠㅠ
if에 else를 붙이면 모든 상품에 표시가 되는데
답변 3개 / 댓글 1개
작동을 하더라도 위 소스코드는 리스트에 20개의 상품이 있으면 20번 쿼리를 해야하니 바람직한 방법은 아닙니다
균이님 그럼 코드 몇줄만 살짝 보여주시면 감사하겠습니다.
한수 좀 부탁드립니다.
답변에 대한 댓글 1개
$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 해서 쿼리부터 확인하세여
쿼리찍어서 값이 나오는지부터 확인하는게 맞을거같아여
답변을 작성하려면 로그인이 필요합니다.
$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 "<위시>"; ?>