상품에 순서를 줬을때 다음상품과 이전상품이 이상합니다. 채택완료
http://sir.co.kr/qa/?wr_id=36856">http://sir.co.kr/qa/?wr_id=36856
위 링크의 글과 같은 증상인데요...
위 글에 남겨주신 답변을 제가 해결 할 능력이 안됩니다.
"next_href 나 pre_href에 가져오는 쿼리를 조절하시면 될듯한데요?"
쿼리를 조절한다는게 무엇인지;; 다른 조금 더 알기쉬운 방법은 없을까요?
답변 1개
/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 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값으로 나올겁니다.
출력순서가 엉뚱한게 갑자기 튀어나오고 ㅠㅠ
죄송합니다. 뽁스님 열심히 알려주셨는데...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그런데 말씀해 주신대로 수정해봤는대...
이전상품과 다음상품이 항상 같은 상품으로 보여지게 되네요.ㅠㅠ