주문내역 쿼리 질문드립니다 ㅠ

주문내역 쿼리 질문드립니다 ㅠ

QA

주문내역 쿼리 질문드립니다 ㅠ

본문

주문내역이

기본은

주문번호와 일시 금액 상태 정도만 출력을하는데..

 

상품 이미지, 상품명, 옵션명도 출력해야해서 

cart table 에서 od_id 가 맞는걸 갖고와서 출력시켜줬습니다

출력은 다 되는데..

 

만약 한번에 주문으로 2개이상의 물건을 사게 될 경우;

제가 쿼리를 잘못 짜서 그런지.. 2번째 상품은 옵션이 출력이 안되어버리네요

 

 

소스와 링크 그리고 아이디 비밀번호를 적어 두겠습니다 ㅠ

힌트라도 주신다면..감사하겠습니다 ㅠ

사이트 들어가서 로그인해서 주문내역 보시면

주문내역 아래

1~8까지 숫자로 구성된 테이블이 있는데..

만약 주문번호1개에 2개 이상의 상품이 있다면

숫자로 구성된 테이블처럼 출력이 되야 해서요 ㅠㅠ

 

for문 전 쿼리에서 order_table의 od_id와 cart_table의 od_id 가 같은

자료만 갖고와서

for문 안에서 어떤 쿼리를 날려줘야 하는지 ㅠㅠ

 

 

링크

http://121.164.172.240:88/shop/ 

 

아이디

farmsismall

 

비번

1234

 


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
 
if (!defined("_ORDERINQUIRY_")) exit; // 개별 페이지 접근 불가
 
// 테마에 orderinquiry.sub.php 있으면 include
if(defined('G5_THEME_SHOP_PATH')) {
    $theme_inquiry_file = G5_THEME_SHOP_PATH.'/orderinquiry.sub.php';
    if(is_file($theme_inquiry_file)) {
        include_once($theme_inquiry_file);
        return;
        unset($theme_inquiry_file);
    }
}
$s_cart_id = get_session('ss_cart_id');
set_cart_id($sw_direct);
 
// 선택필드 초기화
$sql = " UPDATE {$g5['g5_shop_cart_table']} SET ct_select = '0' WHERE od_id = '$s_cart_id' ";
sql_query($sql);
 
// 주문내역 삭제
$orderinquiry_del_url = G5_SHOP_URL.'/orderinquiry.sub.del.php';
 
?>
 
<!-- 회원정보 개요 시작 { -->
<section id="smb_my_ov">
	<h2>마이페이지 개요</h2>
	<table>
		<caption class="sound_only">마이페이지 하부 메뉴</caption>
		<thead>
			<tr>
				<th>상품 관리</th>
				<th>구매 관리</th>
				<th>활동 관리</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td><a href="<?php echo G5_SHOP_URL ?>/wishlist.php" title="관심 상품">관심 상품</a></td>
				<td><a href="<?php echo G5_SHOP_URL ?>/orderinquiry.php" title="주문 내역">주문내역</a></td>
				<td><a href="<?php echo G5_SHOP_URL ?>/mypage_itemqalist.php" title="1:1문의">1:1문의</a></td>
			</tr>
			<tr>
				<td><a href="<?php echo G5_SHOP_URL ?>/today_view.php" title="오늘 본 상품">오늘 본 상품</a></td>
				<td><a href="<?php echo G5_SHOP_URL ?>/cart.php" title="장바구니">장바구니</a></td>
				<td><a href="<?php echo G5_SHOP_URL ?>/mypage_itemuselist.php" title="구매후기">구매후기</a></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=ShopAlliance&sca=&sop=and&sfl=mb_id%2C1&stx=<?php echo $member['mb_id'] ?>" title="제휴제안">제휴제안</a></td>
			</tr>
		</tbody>
	</table>
</section>
<!-- } 회원정보 개요 끝 -->
 
<!-- 주문 내역 목록 시작 { -->
<?php if (!$limit) { ?>총 <?php echo $cnt; ?> 건<?php } ?>
 
<div class="tbl_head01 tbl_wrap">
	<form name="frmoilist" id="orderinquiry_list" method="post" action="<?php echo $orderinquiry_del_url; ?>">
		<table class="tbl_inquiry">
			<colgroup>
				<col width="30px">
				<col width="60px">
				<col width="100px">
				<col width="70px">
				<col width="425px">
				<col width="110px">
				<col width="120px">
				<col width="80px">
			</colgroup>
			<thead>
				<tr>
					<th scope="col">
						<label for="ct_all" class="sound_only">상품 전체</label>
						<input type="checkbox" name="ct_all" value="1" id="ct_all">
					</th>
					<th scope="col">번호</th>
					<th scope="col">주문번호</th>
					<th scope="col">이미지</th>
					<th scope="col">상품명</th>
					<th scope="col">상품구매금액</th>
					<th scope="col">주문일자</th>
					<th scope="col">상태</th>
				</tr>
			</thead>
			<tbody>
			<?php
/*
				$sql = " SELECT *
							FROM {$g5['g5_shop_order_table']}
							WHERE mb_id = '{$member['mb_id']}'
							ORDER BY od_id desc
							$limit ";
*/
				$sql = " SELECT 
							*
							FROM {$g5['g5_shop_cart_table']} a
							LEFT JOIN {$g5['g5_shop_order_table']} b
							ON a.od_id = b.od_id
							WHERE b.mb_id = '{$member['mb_id']}' AND a.od_id = b.od_id
							GROUP BY a.it_name, a.od_id
							ORDER BY a.od_id DESC
							$limit
							";
print_r ($sql);
 
				$result = sql_query($sql);
				$num = 0;
				$num = $total_count - ($page - 1) * $rows + $i;
				for ($i=0; $row=sql_fetch_array($result); $i++)
				{
//					$od_id = $row['od_id'];
 
					$sql2 = "SELECT 
								a.od_id,
								a.it_id,
								a.mb_id,
								a.it_name,
								a.io_price,
								b.od_id,
								b.mb_id
								FROM {$g5['g5_shop_cart_table']} a
								LEFT JOIN {$g5['g5_shop_order_table']} b
								ON a.od_id = b.od_id
								WHERE it_id = {$row['it_id']}
								";
/*
					$sql2 = "SELECT 
								od_id,
								it_id,
								mb_id,
								it_name,
								io_price
								FROM {$g5['g5_shop_cart_table']}
								WHERE it_id = {$row['it_id']}
								";
*/
					$result2 = sql_fetch($sql2);
					$image = get_it_image($result2['it_id'], 70, 70);
					$uid = md5($row['od_id'].$row['od_time'].$row['od_ip']);
 
					if ($it_options) {
						$it_options = print_item_options($row['it_id'], $s_cart_id);
					} else {
						$it_options = "<p class=\"opt_list\">".$row['it_name']." ".$row['ct_qty']."개 (+".number_format($row['ct_price'])."원)</p>";
					}
 
					switch($row['od_status']) {
						case '주문':
							$od_status = '입금확인중';
							break;
						case '입금':
							$od_status = '완료';
							break;
						case '준비':
							$od_status = '상품준비중';
							break;
						case '배송':
							$od_status = '상품배송';
							break;
						case '완료':
							$od_status = '완료';
							break;
						default:
							$od_status = '주문취소';
							break;
					}
					$num--;
					
					for($j=0; $j < count($result2['it_name']); $j++) {
			?>
			<tr>
				<td rowspan="">
					<label for="ct_chk_<?php echo $i; ?>" class="sound_only">주문</label>
					<input type="checkbox" name="ct_chk[<?php echo $i; ?>]" value="1" id="ct_chk_<?php echo $i; ?>">
				</td>
				<td rowspan="">
					<?php echo $num; ?>
				</td>
				<td rowspan="">
					<input type="hidden" name="it_id[<?php echo $i; ?>]" value="<?php echo $row['it_id']; ?>">
					<input type="hidden" name="od_id[<?php echo $i; ?>]" value="<?php echo $row['od_id']; ?>">
					<a href="<?php echo G5_SHOP_URL; ?>/orderinquiryview.php?od_id=<?php echo $row['od_id']; ?>&uid=<?php echo $uid; ?>"><?php echo $row['od_id']; ?></a>
				</td>
				<td class="td_image">
					<a href="./item.php?it_id=<?php echo $row['it_id']; ?>">
						<?php echo $image; ?>
					</a>
				</td>
				<td>
					<p>
						<a href="./item.php?it_id=<?php echo $row['it_id']; ?>">
							<?php echo $row['it_name']; ?>
						</a>
						<br>
						<?php if($it_options) { ?>
							<?php echo $it_options; ?>
						<?php } ?>
					</p>
				</td>
				<td rowspan="" class="td_numbig">
					<?php //echo display_price($row['od_cart_price'] + $row['od_send_cost'] + $row['od_send_cost2']); ?>
					<?php echo display_price(($row['ct_price'] * $row['ct_qty']) + $row['io_price']); ?>
				</td>
				<td rowspan=""><?php echo substr($row['od_time'],2,14); ?> (<?php echo get_yoil($row['od_time']); ?>)</td>
				<td rowspan=""><?php echo $od_status; ?></td>
			</tr>
			<?php
			}
			} // 첫번째 for
 
			if ($i == 0)
				echo '<tr><td colspan="8" class="empty_table">주문 내역이 없습니다.</td></tr>';
			?>
 
			<tr>
				<td rowspan="3">1</td>
				<td rowspan="3">2</td>
				<td rowspan="3">3</td>
				<td>4</td>
				<td>5</td>
				<td rowspan="3">6</td>
				<td rowspan="3">7</td>
				<td rowspan="3">8</td>
			</tr>
			<tr>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>4</td>
				<td>5</td>
			</tr>
			</tbody>
		</table>
		<?php  if ($total_count != 0)  { ?>
		<div class="inquiry_btn">
			<input type="hidden" name="url" value="./orderinquiry.php">
			<input type="hidden" name="records" value="<?php echo $i; ?>">
			<input type="hidden" name="act" value="">
			<button type="button" onclick="return form_check('alldelete');" class="btn01">전체삭제</button>
			<button type="button" onclick="return form_check('seldelete');" class="btn01">선택삭제</button>
		</div>
		<?php } ?>
	</form>
	<?php echo $row['od_id'];?>
</div>
 
<script type="text/javascript">
	$(function() {
		// 모두선택
		$("input[name=ct_all]").click(function() {
			if($(this).is(":checked"))
				$("input[name^=ct_chk]").attr("checked", true);
			else
				$("input[name^=ct_chk]").attr("checked", false);
		});
	});
 
	function form_check(act) {
		var f = document.frmoilist;
		var cnt = f.records.value;
 
		if (act == "alldelete")
		{
			if(confirm("정말 삭제하시겠습니까?")) {
				f.act.value = act;
				f.submit();
			} else {
				return;
			}
		}
		else if (act == "seldelete")
		{
			if($("input[name^=ct_chk]:checked").size() < 1) {
				alert("삭제하실 주문내역을 하나 이상 선택해 주십시오.");
				return false;
			}
 
			if(confirm("정말 삭제하시겠습니까?")) {
				f.act.value = act;
				f.submit();
			} else {
				return;
			}
		}
		return true;
	}
</script>
<!-- } 주문 내역 목록 끝 -->

 

이 질문에 댓글 쓰기 :

답변 1


while($row = sql_fetch_array($result)) {
    echo $row['od_id'];
}

위의 소스는
row 한줄씩 질의할때 마다
주문번호를 찍으라는 건가요?

한가지 더 궁금한건, (주문1건에 대해 2가지 이상 상품이 존재할경우)
상품명과 이미지는 가져오는데..
옵션명을
두번째 상품부터 못가져 옵니다 ㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 224
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT