ajax 문의 드립니다.

ajax 문의 드립니다.

QA

ajax 문의 드립니다.

본문

안녕하세요 늘 도움을 받고있는 초보개발자 입니다.

오늘은 다름이 아닌 상품등록폼에서 새창(iframe)을 통해서 상품정보클릭시 상품등록폼에 추가는 작업중에 질문이 생겨 글을 남겨봅니다. 

 

<iframe>에서 추가상품정보을 클릭할때마다 input창이 증가하여 medi_gram[i] 와 medi_price[i] 값이 추가 할 수 있게 됩니다.

 

질문1. 예를들어 상품 3개 등록시 medi_gram[0],medi_gram[1],medi_gram[2], 각각 사용자의 입력값을 DB에 저장하고 싶습니다.

---------------------------------------------------------------------------------

(medicineS.php 페이지)


for ($i = 0; $row = sql_fetch_array($result); $i++) { ?>       //iframe에서 상품정보클릭시 증가되는 input창
    <tr>
        <td class="hidden"><span id="medi_id"><?php echo $row['medi_id'] ?></span></td>
        <td class="hidden"><span id="it_id"><?php echo $row['it_id'] ?></span></td>
        <td class="text-center">
            <input type="text" id="medi_gram<?php echo $i ?>" name="medi_gram<?php echo $i ?>"
                   value="<?php echo $row['medi_gram'] ?>" size="5"> g
</td>
        <td class="text-center">
            <input type="text" id="medi_price<?php echo $i ?>"
                   name="medi_price<?php echo $i ?>" value="<?php echo $row['medi_price'] ?>" size="6"> 원
</td>
    </tr>
<?php } ?>

if ($type == 'IU') {
    $medi_id = $_POST['medi_id'];     //주문서 고유번호

    $sql = "SELECT *
            FROM medicine_list 
            WHERE medi_id = $medi_id";      //주문한 상품의 count를 구하기위한
    $query = sql_query($sql);

    for ($i = 0; $row = sql_fetch_array($query); $i++) {
        $sql = "UPDATE medicine_list
                SET medi_gram = '{$_POST['medi_gram']}',
                medi_price = '{$_POST['medi_price']}'
                WHERE it_id = '{$row['it_id']}'
                AND medi_id = '$medi_id'";
        $result = sql_query($sql);
    }
    if ($result) echo "SUCCESS";
    else echo "FAIL";
}

 

----------------------------------------------------------------------------------

 

(medicineW.php 페이지)


<button onclick="add(<?php echo $i ?>)">등록하기</button>              
<script>
function add(i){
$.ajax({
'url' : 'medicineS.php',
            'type' : 'POST',
            'data' : {
'type' : "IU",
                'medi_gram' : $('#medi_list').contents().find('#medi_gram'+ i).val(),
                'medi_price' : $('#medi_list').contents().find('#medi_price'+ i).val()
},
            'success':function(){
alert('작성이 완료되었습니다.',location.reload());
            }
});
    }
</script>

----------------------------------------------------------------------------------

등록하기 버튼을 누르면 추가된 medi_gram[i]와 medi_price[i]값을 받아와서, 입력된 input값 정보를 DB에 저장하고 싶습니다.
 

현재 $i=0; 고정값을 주어 첫번째 row 값만 DB에 저장되고 있는 상태입니다.(여기서 막혔어요.ㅠ.ㅠ)


<?php $i = 0;?>
<button onclick="add_category(<?php echo $i ?>)">등록하기</button><script>
function add_category(i){
$.ajax({
'url' : 'medicineS.php',
            'type' : 'POST',
            async:false,
            'data' : {
'type' : "IU",
                'medi_gram' : $('#medi_list').contents().find('#medi_gram'+ i).val(),
                'medi_price' : $('#medi_list').contents().find('#medi_price'+ i).val()
},
            'success':function(){
alert('작성이 완료되었습니다.',location.reload());
            }
});
    }
</script>

 

 

이 질문에 댓글 쓰기 :

답변 2

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

회원로그인

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