채택완료

상품에 순서를 줬을때 다음상품과 이전상품이 이상합니다.

2015-02-05 (목) 16:01:11 4,060

http://sir.co.kr/qa/?wr_id=36856 

위 링크의 글과  같은 증상인데요...

위 글에 남겨주신 답변을 제가 해결 할 능력이 안됩니다. ​

"next_href 나 pre_href에 가져오는 쿼리를 조절하시면 될듯한데요?"

쿼리를 조절한다는게 무엇인지;; 다른 조금 더 알기쉬운 방법은 없을까요?

|

답변 1개 / 댓글 5개

채택된 답변
+20 포인트

/shop/item.php 파일 이전상품보기, 다음상품보기 부분 있습니다.

// 이전 상품보기 

$sql = " select it_id, it_name from {$g5['g5_shop_item_table']} where it_id > '$it_id' and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."' and it_use = '1' order by it_id asc limit 1 ";

위에서 order by it_id asc 를 order by it_order asc 로 변경 

// 다음 상품보기
$sql = " select it_id, it_name from {$g5['g5_shop_item_table']} where it_id < '$it_id' and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."' and it_use = '1' order by it_id desc limit 1 ";

위에서 order by it_id desc 를 order by it_order desc 로 변경해보세요.

답변에 대한 댓글 5개

뽁스님 답글 감사합니다.

그런데 말씀해 주신대로 수정해봤는대...
이전상품과 다음상품이 항상 같은 상품으로 보여지게 되네요.ㅠㅠ
order by it_order asc, it_id asc
order by it_order desc, it_id desc
조건을 두개로 줘보세요~ 출력순서가 같을 경우 상품번호순으로 출력됩니다.
같은 카테고리안에서 출력순서대로 이전과 다음 상품이 보여지는 건가요?
전 이전상품은 출력순서가 1번인 상품이.... 다음상품은 출력순서가 마지막인 상품이 보여지기도 하고
어떤 상품에서는 또 다른 이전 다음 상품이 보여지고 뒤죽박죽 이상합니다. ...ㅠㅠ

// 이전 상품보기
$sql = " select it_id, it_name from {$g5['g5_shop_item_table']} where it_id > '$it_id' and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."' and it_use = '1' order by it_order asc, it_id asc limit 1 ";
$row = sql_fetch($sql);

// 다음 상품보기
$sql = " select it_id, it_name from {$g5['g5_shop_item_table']} where it_id < '$it_id' and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."' and it_use = '1' order by it_order desc, it_id desc limit 1 ";

뽁스님이 말씀하신대로 이렇게 수정했는데요...맞는 건가요?
네 같은 카테고리의 상품이 보여집니다.
and SUBSTRING(ca_id,1,4) = '".substr($it['ca_id'],0,4)."'
ca_id 부분을 지우면 분류 상관없이 전체 상품 기준으로 it_order(출력순서) 순으로 나오고 출력순서값이 같으면 it_id값으로 나올겁니다.
위에 댓글처럼 수정했는대 여전히 뒤죽박죽입니다..다른 카테고리 상품도 보여지고ㅠㅠ
출력순서가 엉뚱한게 갑자기 튀어나오고 ㅠㅠ
죄송합니다. 뽁스님 열심히 알려주셨는데...

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