상품모델명 주문서 테이블에 인서트 하고 관리자 주문내역 리스트에서 불러오기

Q & A

질답게시판

홈 > 회원포럼 > 질답/버그/제안
질답/버그/제안

상품모델명 주문서 테이블에 인서트 하고 관리자 주문내역 리스트에서 불러오기

4 올리브 9 71


상품을 선택 후 주문하기를 하면 주문서 작성란 상단에는 상품 모델명을  불러왔어요.

/skin/apms/order/baasic/orderform.item.skin.php 에 
<br><b><?php echo "모델명".$item[$i]['it_model']?></b>  이렇게 해서 불러오기까지는 성공 했어요.



81dc5ef17b28d4589f16f99dd59a9021_1565612702_3622.jpg 



여기서 주문자 및 받으실분 정보등을 입력하고  하단에  주문하기(주문완료버튼=>/shop/lg/orderform.3.php)를 눌렀을때


상기 모델명을  주문서 DB 테이블에 인서트 할려고 합니다. 이 부분에서 막히네요.


도움 주실분 없나요?  감사합니다.








9 Comments
장바구니에 여러 상품(하나의 주문에 여러 상품)이 담겨질 수 있기 때문에 아래 흐름 참고
1. db cart table 에 it_model  필드 추가
2. /shop/cartupdate.php  251행, 337행  장바구니에 insert  it_model 처리  추가
3. /shop/orderform.php 105행 부분 에 a.it_model  추가
4. /shop/orderform.php 239행 부분 에 배열화 추가 -  it_model
5. 이후 (주문진행 단계 및 관리자 페이지 등에서) cart 테이블에 추가 저장된 필드값 출력
4 올리브 08.13 13:22  
사노라님 답변 고맙습니다.
그대로 했는데 DB cart 테이블에 값이 들어오질 않네요..감사합니다.
it_model 이 상품 상세 페이지에  input hidden 값으로 들어가 있나요?
들어가 있고 cartupdate.php에 insert it_model 필드 추가 / sql  $_POST['it_model'] 값 추가

** item.skin.php
<tr><th scope="row">모델</th><td><?php echo $it['it_model']; ?><input type='hidden' name='it_model' value='<?php echo $it['it_model']; ?>'></td></tr>

** cartupdate.php 

      $sql = " INSERT INTO {$g5['g5_shop_cart_table']}
                        ( od_id, mb_id, it_id, it_name, it_sc_type, it_sc_method, it_sc_price, it_sc_minimum, it_sc_qty, ct_status, ct_price, ct_point, ct_point_use, ct_stock_use, ct_option, ct_qty, ct_notax, io_id, io_type, io_price, ct_time, ct_ip, ct_send_cost, ct_direct, ct_select, ct_select_time, pt_it, pt_msg1, pt_msg2, pt_msg3, it_model)
                    VALUES ";
-------------------------------------
            $sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$remote_addr', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time', '{$it['pt_it']}', '$pt_msg1', '$pt_msg2', '$pt_msg3', '{$_POST['it_model']}')";
4 올리브 08.13 14:35  
와! 사노라님! 이젠  cart 테이블에 it_model 값이 잘 들어오네요!!!
처음엔 제가 실수 한게 있나봐요^^;

한가지만 더요. 죄송합니다. 현재 이 모델 값이 g5_shop_cart  테이블에 있는데 이 값을 관리자->주문내역 리스트( /adm/shop_admin/orderlist.php) 로 불러오는 일만 남았네요.

한별아빠님과 같이 뭐라고 감사의 인사말씀을 드려야 할지. 오히려 말로 하니 더 죄송합니다.많이 배우고 깨닫게 해주시어 고맙습니다.!!!
해당 파일 294행 부분
    for ($i=0; $row=sql_fetch_array($result); $i++)
    {

          $ct_row = " select it_model from {$g5['g5_shop_cart_table']} where od_id = '{$row['od_id']}' order by ct_id ";
          $ct = sql_fetch($ct_row);

구문 추가 후 원하는 위치에(for 문 안쪽) echo $ct['it_model']; 로 출력 해 보세요.


주문 번호 기준이라 하나만 나오니 용도에 맞게 order by 등 기준 변경 사용 필요
4 올리브 08.13 14:51  
완벽하네요!! 모든것이 원하는대로 해결 됐어요. 어떤 DB 테이블에 어떤 값이 들어가고, 필드가 없으면 추가하고 그 필드에 INSERT 는 어떻게 시켜주고... 하나씩 이해가 됩니다.너무 고맙습니다.

 아는거 하고 이해 하는거는 다른가 봅니다. 이해를 하면서 실습해보고,  조언을 참고하고 많은 것을 배우게 해 주시네요.

사노라님 매번 도움 주시고 감사함을 전합니다. 이번 건만 완벽히 이해한다면 다른 분들도 응용하고 해결하는데 엄청 도움될것으로 사료됩니다.
M 한별아빠 08.13 01:16  
1. 이전에 드린 부분은 참고 안하셨는가 보네요.ㅠㅠ

2. 하시고자 하는 방법은 상품주문은 무조건 1건만 가능해야 의미가 있습니다. 즉, 장바구니를 이용하던지 복수구매시에 어떻게 할지에 대해서 먼저 이야기 주셔야 하고...

3. 무엇보다 저렇게 DB에 넣는 것 자체가 의미가 없습니다. 예를들어 주문서 테이블에 상품코드 등 주문상품 정보가 없는데... 어떻게 불러올까요? 그리고 상품을 불러온다는 것은 해당 상품의 정보를 가져올 수있다는 것이고, 그럼 거기에 가져올 데이타(it_model 이라던지, 여분필드 등)만 추가해 주면 당연히 가져오겠죠.

4. 그게 아니라 반드시 DB에 넣어야 한다면 그냥 /shop/orderformupdate.php 파일에서 처리해 주면 됩니다. /shop/orderformupdate.php 파일 36라인에 보면 재고 체크부분에서 상품코드 나오니, 이 상품코드로 해당 상품에서 필요한 데이타 불러와서 변수에 담고, 그걸 526 라인에 있는 주문서 쿼리에 필드 추가해 주면 됩니다. 물론 /mobile/shop/orderformupdate.php 파일에도 따로 수정해야 되고요.

5. 그러니 해당 정보가 반드시 고객이 알아야 하는 정보가 아니라면(봐서는 관리자가 관리용으로 필요한 정보 같으니...), 그냥 orderformupdate.php 파일만 수정하는게 나을 것 입니다. DB에 데이타를 넣을려면 싫던 좋던 이 파일은 수정해야 하니깐요. 그리고 이 orderformupdate.php 파일만 수정해도 원하는 결과는 나오고요.

6. 그런데, 관리자쪽에서 필요한 정보라면 사실 이것도 수정할 필요없습니다.

7. 이전 댓글에서 이야기 드린 /adm/shop_admin/orderform.php 파일 47라인의 쿼리구문이 주문서에 있는 주문상품의 정보를 뽑아오는 쿼리문이니, 출력하고자 하는 곳에서 이 쿼리문 돌려 주시면 됩니다. 단, 복수상품주문이 가능한데, 관리자의 주문리스트에서 출력하고자 한다면 그 만큼 부하가 걸릴 것 입니다.
M 한별아빠 08.13 01:30  
결론은 한 주문서에 복수상품이 있을 수 있는지 없는지 부터 이야기 주셔야 뭐라도 고민해 볼 수 있고, 복수상품이 가능한 상태에서 주문서에 상품의 특정 정보를 넣는다고 하더라도 이걸 어떻게 데이타로 처리할지는 또 다른 문제이고...
M 한별아빠 08.13 02:16  
그런데, 넣어야 하는게 "모델명 A01"이라면 이거 그냥 상품옵션으로 처리하면 안되나요?

언듯봐서는 그냥 상품옵션에 "모델명 A01" 하나만 등록해 주면 수정할 것도 없이 바로 해결될 것 같은데...ㅠㅠ
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand