장바구니에서 group by했을때 ct_chk문제 채택완료
장바구니를 특정 필드로 그룹화 한뒤 해당 필드에 맞는 상품들이 나오게 했는데요.
// 1.그룹화먼저
$sql = " select a.특정필드
from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
where a.od_id = '$s_cart_id' ";
$sql .= " group by a.특정필드 ";
$sql .= " order by a.특정필드 ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 2.상품불러오기
<?php // $s_cart_id 로 현재 장바구니 자료 쿼리
$sql2 = " select a.ct_id,
a.it_id,
a.it_name,
a.특정필드,
a.ct_price,
a.ct_point,
a.ct_qty,
a.ct_status,
a.ct_send_cost,
a.it_sc_type,
b.ca_id,
b.ca_id2,
b.ca_id3
from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
where a.od_id = '$s_cart_id' and b.특정필드 = '특정필드값'";
$sql2 .= " group by a.it_id ";
$sql2 .= " order by a.it_id ";
$result2 = sql_query($sql2);
$it_send_cost = 0;
for ($j=0; $row2=sql_fetch_array($result2); $j++)
{
이렇게하면 원하는 방식대로 잘 나오긴 합니다.
그런데 문제가 선택삭제부분의 체크박스 i값이 특정필드그룹된것과는 상관없이
무조건 1,2,3,4... 이런식으로 증가하게 해야 할것 같더라고요ㅠㅠ
그래야 선택삭제, 주문폼 넘어갈때 ct_select등이 잘 들어가게되어있어서
근데 위와 같이 하고
//그룹화배열로
ct_chk_<?php echo $i; ?> 를 불러오면
A그룹내 상품번호
ct_chk_0
ct_chk_0
B 그룹내 상품번호
ct_chk_1
ct_chk_1
C 그룹내 상품번호
ct_chk_2
ct_chk_2
이런식으로 나오거나
//그룹내 상품배열로
ct_chk_<?php echo $i; ?> 를 불러오면
A그룹내 상품번호
ct_chk_0
ct_chk_1
B 그룹내 상품번호
ct_chk_0
ct_chk_1
C 그룹내 상품번호
ct_chk_0
ct_chk_1
이렇게 번호가 매겨져서 체크박스 선택이 당연히?? 안되는데
현재 장바구니 상품갯수만큼 강제로 ct_chk_번호값만 증가하게 할 수 있는 방법이 있을까요?
아니면 쿼리문을 어떻게 수정하면 될까요?
많은 고수님들의 도움 부탁드립니다ㅠㅠ
감사합니다.
답변 2개
답변에 대한 댓글 2개
Order by로 하셔야 합니다
기존 query 에서 order by를 추가해 보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
상품의 특정여분필드로 그룹화하려고 하려고 합니다.ㅠㅠ
그 필드가 만약에 브랜드라면
장바구니페이지 접속시 보여지는 형식이
A브랜드
- A브랜드상품1
- A브랜드 상품2
B브랜드
- B브랜드상품1
C브랜드
-C브랜드상품1
- C브랜드상품2
이런식으로 묶여져서 보이게 하고 싶어서요~
저렇게 뽑았더니 chk넘버링이 제대로 안되서
선택삭제나 선택주문등값이 안넘어가고 있습니다.ㅠㅠ