제품상세페이지 커스텀(?) 관련해서 sql 문 확인 부탁드립니다..;;

제품상세페이지 커스텀(?) 관련해서 sql 문 확인 부탁드립니다..;;

QA

제품상세페이지 커스텀(?) 관련해서 sql 문 확인 부탁드립니다..;;

답변 3

본문

핫딜(?), 한정 특가(?)같은 개념으로 프로모션(전제품 20% 할인) 이런식의 이벤트성으로 진행예정입니다.

 

ca_id 10 : 전 제품

ca_id 20 : 프로모션

 

ca_id 가 10인 카테고리에 제품이 20개 등록되어있고,

ca_id 20을 만들고 거기에 A라는 프로모션용 제품을 등록하고, 

옵션에 ca_id가 10인 모든 제품명을 넣고, 금액도 다 넣은 상태에서

 

상세페이지 부분에 어떤 옵션들이 있는지 옵션목록을 가져와서

원하는 옵션 클릭시 해당 제품의 상세설명에 등록된 이미지를 모달로 띄우는정도 입니다...

 

지금 말씀드린 내용과 비슷한 UI(?)는 소셜커머스에서 많이 볼 수 있는 UI 입니다...

 

php, sql 를 제대로 배운적없이 그냥 그누보드, 영카트 가지고 검색해가며 습득한(?) 근본없는 실력인 상황에서 구현해봤습니다...;; 로직은 생각한대로 짜본건데 제대로 구현은 됩니다...

 

/skin/shop/basic/item.info.php 에서 상품 상세설명에 들어간 작업


// 200409 프로모션 전제품출력 작업
if( $it['ca_id'] === '20' && $it['it_3'] ){
    $sql = " select * from {$g5['g5_shop_item_option_table']} where io_type = '0' and io_use = '1' and it_id = '{$it['it_id']}' order by io_no "; // it_id를 대조해 옵션테이블에서 옵션들을 가져옴
    $result = sql_query($sql);
 
    $pattern = "/<img.*?src=[\"']?(?P<url>[^(http)].*?)[\"' >]/i"; // img 정규식?
 
    $str = '<div class="promotion-items"><div class="all-items"><ul class="sct sct_10 lists-row clearfix">';
    for($i=0;$row=sql_fetch_array($result);$i++){ // 등록된 옵션의 개수만큼 가져옴
        $sql = " select * from {$g5['g5_shop_item_table']} where ca_id != '{$it['ca_id']}' and it_use = '1' and it_name = '{$row['io_id']}' "; // 옵션명(io_id)과 제품명(it_name)을 대조해 썸네일, 상세페이지이미지 를 가져옴
        $result2 = sql_fetch($sql);
 
        preg_match($pattern, stripslashes(str_replace('&', '&', $result2['it_explan'])), $match); // 각 it_id에 등록된 상세설명에 등록된 이미지를 가져옴
        $dataSrc = substr($match['url'], 1); // 옵션명과 동일한 제품의 상세이미지
 
        $str .= '<li class="sct_li col-row-5">';
        $str .= '<a href="#dimmed" data-img_src="'.$dataSrc.'" class="dimmed">';
        $str .= '<div class="sct_img">'.get_it_image($result2['it_id'], 650, 500, '', '', stripslashes($result2['it_name'])).'</div>'; // 옵션명과 동일한 제품의 썸네일
        $str .= '<p class="sct_txt">등록된 옵션명 : <br>'.$row['io_id'].'</p>';
        $str .= '<p class="sct_cost">등록된 옵션가격 : <br>'.number_format($row['io_price']).'원</p>';
        $str .= '</a>';
        $str .= '</li>';
    }
    $str .= '</ul></div></div>';
    echo $str;
}
// 200409 프로모션 전제품출력 작업

 

이런식으로 작업해서 구현을 시켜서 잘 됩니다...;;

 

궁금한건 제대로 짠게 맞는지... 더 보완해야할 부분이 있는지... 가 궁금합니다...;;

 

그리고 $sql 과 $result 와 $row 가

 

어떤 페이지는 한 페이지? 한 함수? 안에서 여러번 쓰이던데...

 

$sql ~~~

$result ~~~

 

 

$sql ~~~~

$result ~~~~

 

이런식으로 쓰이던데... 전 $result 를 2번 쓰면 안불러와지길래 $result2로 썼습니다...;;

 

다른거 찾아보는 거는 이런거 검색해보면 나오겠다 싶은데 개발쪽은 잘 모르다보니 뭐라 검색해야할지조차 막막해서 문의남겨봅니다;;ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

결과값 중복이 될경우는

$sql2 이런식으로 하면 되시구요 그렇치 않으면 굳이 전부 다르게 하실 필요는 없습니다.

답변 감사드립니다. 말씀해주신 부분과 위에서 구현한 것을 예로 들자면...

위에 $result 했을때 결과값 과 아래 for문에서 $result 했을때 결과값이 다르지 않나요..??

위 result 는 item_option_table 의 데이터를 가져오고,
for문에서 result 는 item_table 에서의 데이터를 가져오는데...

결과값 중복이라는게... 어떤 경우인가요..??ㅠㅠㅠ

뭔가 알듯말듯 어렵네요...ㅎㅎㅎ 위에 구현해놓은것도... 혼자 짱구 굴려서 이렇게 가져오면 될 것 같은데? 하면서 눈치로 짜본거라... 제대로 된 로직인지도 의문이고...ㅠㅠㅠ

preg_match 뭔가를 정의하신거 같은데 뭔가 빠지거나 필요가 없을듯 싶네요

preg_match 는 상품등록할때 상세설명에 에디터로 이미지등록한거를 it_explan 에 담긴 데이터에서 img 태그를 찾아내는(?) 용도로 가져와봤습니다...;;;

저거 없이도 it_explan 에 들어있는 img 태그의 src 경로를 찾는 방법이 있나요...??

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,127
© SIRSOFT
현재 페이지 제일 처음으로