상품목록에서 위시리스트 등록 여부 (아이콘변경)
본문
위시리스트에 있는 상품이면 클래스 wish를 붙여서 아이콘이미지를 바꾸고싶습니다.
(이미지는 스프라이트로 들어가있어서 클래스에 따라 left값만 수정하려합니다)
검색해보다가 두가지를 찾았는데
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 .= '등록됨';
$icon .= '</span>';
return $icon;
}
위 코드는
if($row['it_id'])
$icon .= '등록됨';
부분이 아예 안나오구요
$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];
<?php if (in_array($row['it_id'], $wishArr)) echo "<위시>"; ?>
위 코드는
Warning: Use of undefined constant it_id - assumed 'it_id' (this will throw an Error in a future version of PHP)
라는 메시지만 뜨구요..
php는 아예 모르는 상황에서 수정해야하다보니 다른 질문글 답변을 보고 적용하는 것도 어렵더라구요
위 두 코드도 위치는 제대로 넣은건지조차 모르겠습니다..
버전은 그누보드 5.3.3.3, 영카트 5.3.3.3.1 이구요
모든 상품목록에 적용해야하는데 지금은 메인페이지에서 바로 확인해보느라 main.10.skin.php에만
적용해보고있습니다
아이콘클릭했을때 위시리스트에 없으면 담았다/있으면 이미 등록된 상품이라고 알림이 뜨는걸보면
위시리스트에 있는지 없는지 데이터자체는 이미 있는것 같은데 얘를 어떻게 불러와야
리스트에 있을때 없을때 조건을 달까요...
!-->!-->답변 2
main.10.skin.php 기준
1) while 문 전에 추가
$qq = sql_query("select it_id from {$g5['g5_shop_wish_table']} where mb_id = '{$member['mb_id']}' ");
$wishArr = array();
while($row_wish = sql_fetch_array($qq)) {
$wishArr[] = $row_wish['it_id'];
}
for ($i=1; $row=sql_fetch_array($result); $i++) {
~
2) while 문 안에서 사용
for ($i=1; $row=sql_fetch_array($result); $i++) {
if (in_array($row['it_id'], $wishArr))
echo '<위시>';
}
와.. 진짜 정말 코드도 다른 분이 다 잘만들어주신건데 왜 안되나 했더니
설마했던 위치가 문제였네요 위치만 옮겼다고 바로 적용됐어요
진짜 너무 감사합니다