관리자- 주문내역수정에서 상단에 주문목록이 보이지 않습니다.. ㅠㅠ

관리자- 주문내역수정으로 들어가면 상품목록에 에러메세지가 뜨면서 안나오네요..

 

832928805_1627887440.3584.png

 

 

 

메세지에 나온 해당 줄번호입니다. common.lib.php

 

Copy
function sql_num_rows($result)

{

    if(function_exists('mysqli_num_rows') && G5_MYSQLI_USE)

        return mysqli_num_rows($result);

    else

        return mysql_num_rows($result);

}

 

 

무엇이 잘못된 걸까요..

아래는 orderform.php 파일에 주문목록 부분입니다.

 

Copy
$pg_anchor = '<ul class="anchor">

<li><a href="#anc_sodr_list">주문상품 목록</a></li>

<li><a href="#anc_sodr_pay">주문결제 내역</a></li>

<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>

<li><a href="#anc_sodr_paymo">결제상세정보 수정</a></li>

<li><a href="#anc_sodr_memo">상점메모</a></li>

<li><a href="#anc_sodr_orderer">주문하신 분</a></li>

<li><a href="#anc_sodr_taker">받으시는 분</a></li>

</ul>';

 

$html_receipt_chk = '<input type="checkbox" id="od_receipt_chk" value="'.$od['od_misu'].'" onclick="chk_receipt_price()">

<label for="od_receipt_chk">결제금액 입력</label><br>';

 

$qstr1 = "od_status=".urlencode($od_status)."&amp;od_settle_case=".urlencode($od_settle_case)."&amp;od_misu=$od_misu&amp;od_cancel_price=$od_cancel_price&amp;od_refund_price=$od_refund_price&amp;od_receipt_point=$od_receipt_point&amp;od_coupon=$od_coupon&amp;fr_date=$fr_date&amp;to_date=$to_date&amp;sel_field=$sel_field&amp;search=$search&amp;save_search=$search";

if($default['de_escrow_use'])

    $qstr1 .= "&amp;od_escrow=$od_escrow";

$qstr = "$qstr1&amp;sort1=$sort1&amp;sort2=$sort2&amp;page=$page";

 

// 상품목록

$sql = " select it_id,

                it_name,

                cp_price,

                ct_notax,

                ct_send_cost,

                it_sc_type

           from {$g5['g5_shop_cart_table']}

          where od_id = '{$od['od_id']}'

          group by it_id

          order by ct_id ";

$result = sql_query($sql);

 

// 주소 참고항목 필드추가

if(!isset($od['od_addr3'])) {

    sql_query(" ALTER TABLE `{$g5['g5_shop_order_table']}`

                    ADD `od_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `od_addr2`,

                    ADD `od_b_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `od_b_addr2` ", true);

}

 

// 배송목록에 참고항목 필드추가

if(!sql_query(" select ad_addr3 from {$g5['g5_shop_order_address_table']} limit 1", false)) {

    sql_query(" ALTER TABLE `{$g5['g5_shop_order_address_table']}`

                    ADD `ad_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `ad_addr2` ", true);

}

 

// 결제 PG 필드 추가

if(!sql_query(" select od_pg from {$g5['g5_shop_order_table']} limit 1 ", false)) {

    sql_query(" ALTER TABLE `{$g5['g5_shop_order_table']}`

                    ADD `od_pg` varchar(255) NOT NULL DEFAULT '' AFTER `od_mobile`,

                    ADD `od_casseqno` varchar(255) NOT NULL DEFAULT '' AFTER `od_escrow` ", true);

 

    // 주문 결제 PG kcp로 설정

    sql_query(" update {$g5['g5_shop_order_table']} set od_pg = 'kcp' ");

}

 

// LG 현금영수증 JS

if($od['od_pg'] == 'lg') {

    if($default['de_card_test']) {

    echo '<script language="JavaScript" src="'.SHOP_TOSSPAYMENTS_CASHRECEIPT_TEST_JS.'"></script>'.PHP_EOL;

    } else {

        echo '<script language="JavaScript" src="'.SHOP_TOSSPAYMENTS_CASHRECEIPT_REAL_JS.'"></script>'.PHP_EOL;

    }

}

 

// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_javascript(G5_POSTCODE_JS, 0);    //다음 주소 js

?>

 

<section id="anc_sodr_list">

    <h2 class="h2_frm">주문상품 목록</h2>

    <?php echo $pg_anchor; ?>

    <div class="local_desc02 local_desc">

        <p>

            현재 주문상태 <strong><?php echo $od['od_status'] ?></strong>

            |

            주문일시 <strong><?php echo substr($od['od_time'],0,16); ?> (<?php echo get_yoil($od['od_time']); ?>)</strong>

            |

            주문총액 <strong><?php echo number_format($od['od_cart_price'] + $od['od_send_cost'] + $od['od_send_cost2']); ?></strong>원

        </p>

        <?php if ($default['de_hope_date_use']) { ?><p>희망배송일은 <?php echo $od['od_hope_date']; ?> (<?php echo get_yoil($od['od_hope_date']); ?>) 입니다.</p><?php } ?>

        <?php if($od['od_mobile']) { ?>

        <p>모바일 쇼핑몰의 주문입니다.</p>

        <?php } ?>

    </div>

 

    <form name="frmorderform" method="post" action="./orderformcartupdate.php" onsubmit="return form_submit(this);">

    <input type="hidden" name="od_id" value="<?php echo $od_id; ?>">

    <input type="hidden" name="mb_id" value="<?php echo $od['mb_id']; ?>">

    <input type="hidden" name="od_email" value="<?php echo $od['od_email']; ?>">

    <input type="hidden" name="sort1" value="<?php echo $sort1; ?>">

    <input type="hidden" name="sort2" value="<?php echo $sort2; ?>">

    <input type="hidden" name="sel_field" value="<?php echo $sel_field; ?>">

    <input type="hidden" name="search" value="<?php echo $search; ?>">

    <input type="hidden" name="page" value="<?php echo $page;?>">

    <input type="hidden" name="pg_cancel" value="0">

 

    <div class="tbl_head01 tbl_wrap">

        <table>

        <caption>주문 상품 목록</caption>

        <thead>

        <tr>

            <th scope="col">상품명</th>

            <th scope="col">

                <label for="sit_select_all" class="sound_only">주문 상품 전체</label>

                <input type="checkbox" id="sit_select_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>

            <th scope="col">배송비</th>

            <th scope="col">포인트반영</th>

            <th scope="col">재고반영</th>

        </tr>

        </thead>

        <tbody>

        <?php

        $chk_cnt = 0;

        for($i=0; $row=sql_fetch_array($result); $i++) {

            // 상품이미지

            $image = get_it_image($row['it_id'], 50, 50);

 

            // 상품의 옵션정보

            $sql = " select ct_id, it_id, ct_price, ct_point, ct_qty, ct_option, ct_status, cp_price, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price, ct_msg, ct_file

                        from {$g5['g5_shop_cart_table']}

                        where od_id = '{$od['od_id']}'

                          and it_id = '{$row['it_id']}'

                        order by io_type asc, ct_id asc ";

            $res = sql_query($sql);

            $rowspan = sql_num_rows($res);

 

            // 합계금액 계산

            $sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price,

                            SUM(ct_qty) as qty

                        from {$g5['g5_shop_cart_table']}

                        where it_id = '{$row['it_id']}'

                          and od_id = '{$od['od_id']}' ";

            $sum = sql_fetch($sql);

 

            // 배송비

            switch($row['ct_send_cost'])

            {

                case 1:

                    $ct_send_cost = '착불';

                    break;

                case 2:

                    $ct_send_cost = '무료';

                    break;

                default:

                    $ct_send_cost = '선불';

                    break;

            }

 

            // 조건부무료

            if($row['it_sc_type'] == 2) {

                $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $od['od_id']);

 

                if($sendcost == 0)

                    $ct_send_cost = '무료';

            }

 

            for($k=0; $opt=sql_fetch_array($res); $k++) {

                if($opt['io_type'])

                    $opt_price = $opt['io_price'];

                else

                    $opt_price = $opt['ct_price'] + $opt['io_price'];

 

                // 소계

                $ct_price['stotal'] = $opt_price * $opt['ct_qty'];

                $ct_point['stotal'] = $opt['ct_point'] * $opt['ct_qty'];

            ?>

            <tr>

                <?php if($k == 0) { ?>

                <td rowspan="<?php echo $rowspan; ?>" class="td_left">

                    <a href="./itemform.php?w=u&amp;it_id=<?php echo $row['it_id']; ?>"><?php echo $image; ?> <?php echo stripslashes($row['it_name']); ?></a>

                    <?php if($od['od_tax_flag'] && $row['ct_notax']) echo '[비과세상품]'; ?>

                </td>

                <td rowspan="<?php echo $rowspan; ?>" class="td_chk">

                    <label for="sit_sel_<?php echo $i; ?>" class="sound_only"><?php echo $row['it_name']; ?> 옵션 전체선택</label>

                    <input type="checkbox" id="sit_sel_<?php echo $i; ?>" name="it_sel[]">

                </td>

                <?php } ?>

                <td class="td_left">

                    <label for="ct_chk_<?php echo $chk_cnt; ?>" class="sound_only"><?php echo get_text($opt['ct_option']); ?></label>

                    <input type="checkbox" name="ct_chk[<?php echo $chk_cnt; ?>]" id="ct_chk_<?php echo $chk_cnt; ?>" value="<?php echo $chk_cnt; ?>" class="sct_sel_<?php echo $i; ?>">

                    <input type="hidden" name="ct_id[<?php echo $chk_cnt; ?>]" value="<?php echo $opt['ct_id']; ?>">

                    <?php echo get_text($opt['ct_option']); ?>

                </td>

                <td class="td_mngsmall"><?php echo $opt['ct_status']; ?></td>

                <td class="td_num">

                    <label for="ct_qty_<?php echo $chk_cnt; ?>" class="sound_only"><?php echo get_text($opt['ct_option']); ?> 수량</label>

                    <input type="text" name="ct_qty[<?php echo $chk_cnt; ?>]" id="ct_qty_<?php echo $chk_cnt; ?>" value="<?php echo $opt['ct_qty']; ?>" required class="frm_input required" size="5">

                </td>

                <td class="td_num_right "><?php echo number_format($opt_price); ?></td>

                <td class="td_num_right"><?php echo number_format($ct_price['stotal']); ?></td>

                <td class="td_num_right"><?php echo number_format($opt['cp_price']); ?></td>

                <td class=" td_num_right"><?php echo number_format($ct_point['stotal']); ?></td>

                <td class="td_sendcost_by"><?php echo $ct_send_cost; ?></td>

                <td class="td_mngsmall"><?php echo get_yn($opt['ct_point_use']); ?></td>

                <td class="td_mngsmall"><?php echo get_yn($opt['ct_stock_use']); ?></td>

            </tr>

 

            <?php

                if($opt['ct_msg'] || $opt['ct_file']) {

                ?>

                <tr>

                <th>추가작업내용</th>

                <td colspan="8" class="td_mngsmall"><?php echo stripslashes($opt['ct_msg']); ?></td>

                <th>첨부파일</th>

                <td colspan="2" class="td_mngsmall"><a href="<?php echo G5_DATA_URL."/odfile/".$opt['ct_file']?>">다운받기</a></td>

                </tr>

                <?php

                }

                ?>

 

            <?php

                $chk_cnt++;

            }

            ?>

        <?php

        }

        ?>

        </tbody>

        </table>

    </div>

 

    <div class="btn_list02 btn_list">

        <p>

            <input type="hidden" name="chk_cnt" value="<?php echo $chk_cnt; ?>">

            <strong>주문 및 장바구니 상태 변경</strong>

            <input type="submit" name="ct_status" value="주문" onclick="document.pressed=this.value" class="btn_02 color_01">

            <input type="submit" name="ct_status" value="입금" onclick="document.pressed=this.value" class="btn_02 color_02">

            <input type="submit" name="ct_status" value="준비" onclick="document.pressed=this.value" class="btn_02 color_03">

            <input type="submit" name="ct_status" value="배송" onclick="document.pressed=this.value" class="btn_02 color_04">

            <input type="submit" name="ct_status" value="완료" onclick="document.pressed=this.value" class="btn_02 color_05">

            <input type="submit" name="ct_status" value="취소" onclick="document.pressed=this.value" class="btn_02 color_06">

            <input type="submit" name="ct_status" value="반품" onclick="document.pressed=this.value" class="btn_02 color_06">

            <input type="submit" name="ct_status" value="품절" onclick="document.pressed=this.value" class="btn_02 color_06">

        </p>

    </div>

 

    <div class="local_desc01 local_desc">

        <p>주문, 입금, 준비, 배송, 완료는 장바구니와 주문서 상태를 모두 변경하지만, 취소, 반품, 품절은 장바구니의 상태만 변경하며, 주문서 상태는 변경하지 않습니다.</p>

        <p>개별적인(이곳에서의) 상태 변경은 모든 작업을 수동으로 처리합니다. 예를 들어 주문에서 입금으로 상태 변경시 입금액(결제금액)을 포함한 모든 정보는 수동 입력으로 처리하셔야 합니다.</p>

    </div>

 

    </form>

답변 2개

올리신 소스 내용 중에서,

sql_query( $sql, true);

이렇게 모두 변경하셔서 에러 메시지가 있는지 확인해 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

변경해도 변화없습니다. ㅠㅠ
sql_query( $sql, true); 호출하는 부분이 많습니다.
메시지가 나와도 브라우저에서는 안 보이는 경우가 간혹 있습니다.
이럴 때는 소스보기"로 메시지 유무를 확인하셔야 합니다.

sql_query( $sql, true); exit;

이렇게 한 개씩 처리하면서 메시지를 확인해 보시기 바랍니다.

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

잘되었다가 안돼면 db의 리스트 정보를 확인해보시기 바랍니다.

디비 손상으로 그런경우가 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

db 리스트 기존 것 다 삭제해보고 다시 해봐도 동일한 현상이네요..

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

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

로그인
🐛 버그신고