테스트 사이트 - 개발 중인 베타 버전입니다

ajax 문의 드립니다.

태흔쓰 9년 전 조회 7,410

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

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

 

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

 

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

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

(medicineS.php 페이지)

</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><span style="color:#cc7832;background-color:#232525;font-weight:bold;">for </span><span style="background-color:#232525;">(</span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="background-color:#232525;">= </span><span style="color:#6897bb;background-color:#232525;">0</span><span style="color:#cc7832;background-color:#232525;">; </span><span style="color:#9876aa;background-color:#232525;">$row </span><span style="background-color:#232525;">= sql_fetch_array(</span><span style="color:#9876aa;background-color:#232525;">$result</span><span style="background-color:#232525;">)</span><span style="color:#cc7832;background-color:#232525;">; </span><span style="color:#9876aa;background-color:#232525;">$i</span><span style="background-color:#232525;">++) { </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?>       //iframe에서 상품정보클릭시 증가되는 input창</span><span style="color:#cc7832;font-weight:bold;">
</span><span style="color:#cc7832;font-weight:bold;">    </span><span style="color:#e8bf6a;"><tr>
</span><span style="color:#e8bf6a;">        <td </span><span style="color:#bababa;">class=</span><span style="color:#a5c261;">"hidden"</span><span style="color:#e8bf6a;">><span </span><span style="color:#bababa;">id=</span><span style="color:#a5c261;">"medi_id"</span><span style="color:#e8bf6a;">></span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$row</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_id'</span><span style="background-color:#232525;">] </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#e8bf6a;"></span></td>
</span><span style="color:#e8bf6a;">        <td </span><span style="color:#bababa;">class=</span><span style="color:#a5c261;">"hidden"</span><span style="color:#e8bf6a;">><span </span><span style="color:#bababa;">id=</span><span style="color:#a5c261;">"it_id"</span><span style="color:#e8bf6a;">></span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$row</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'it_id'</span><span style="background-color:#232525;">] </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#e8bf6a;"></span></td></span><span style="color:#e8bf6a;">
</span><span style="color:#e8bf6a;">        <td </span><span style="color:#bababa;">class=</span><span style="color:#a5c261;">"</span><span style="color:#a5c261;background-color:#344134;">text-center</span><span style="color:#a5c261;">"</span><span style="color:#e8bf6a;">>
</span><span style="color:#e8bf6a;">            <input </span><span style="color:#bababa;">type=</span><span style="color:#a5c261;">"text" </span><span style="color:#bababa;">id=</span><span style="color:#a5c261;">"medi_gram</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">" </span><span style="color:#bababa;">name=</span><span style="color:#a5c261;">"medi_gram</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">"
</span><span style="color:#a5c261;">                   </span><span style="color:#bababa;">value=</span><span style="color:#a5c261;">"</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$row</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_gram'</span><span style="background-color:#232525;">] </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">" </span><span style="color:#bababa;">size=</span><span style="color:#a5c261;">"5"</span><span style="color:#e8bf6a;">> </span>g
        <span style="color:#e8bf6a;"></td></span><span style="color:#e8bf6a;">
</span><span style="color:#e8bf6a;">        <td </span><span style="color:#bababa;">class=</span><span style="color:#a5c261;">"</span><span style="color:#a5c261;background-color:#344134;">text-center</span><span style="color:#a5c261;">"</span><span style="color:#e8bf6a;">>
</span><span style="color:#e8bf6a;">            <input </span><span style="color:#bababa;">type=</span><span style="color:#a5c261;">"text" </span><span style="color:#bababa;">id=</span><span style="color:#a5c261;">"medi_price</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">"
</span><span style="color:#a5c261;">                   </span><span style="color:#bababa;">name=</span><span style="color:#a5c261;">"medi_price</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">" </span><span style="color:#bababa;">value=</span><span style="color:#a5c261;">"</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$row</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_price'</span><span style="background-color:#232525;">] </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#a5c261;">" </span><span style="color:#bababa;">size=</span><span style="color:#a5c261;">"6"</span><span style="color:#e8bf6a;">> </span>원
        <span style="color:#e8bf6a;"></td></span><span style="color:#e8bf6a;">
</span><span style="color:#e8bf6a;">    </tr>
</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php </span><span style="background-color:#232525;">} </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span></pre><p>

</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><p style="margin-left: 0px;"><span style="color:#cc7832;background-color:#232525;font-weight:bold;">if </span><span style="background-color:#232525;">(</span><span style="color:#9876aa;background-color:#232525;">$type </span><span style="background-color:#232525;">== </span><span style="color:#6a8759;background-color:#232525;">'IU'</span><span style="background-color:#232525;">) {
</span><span style="background-color:#232525;">    </span><span style="color:#9876aa;background-color:#232525;">$medi_id </span><span style="background-color:#232525;">= </span><span style="color:#9876aa;background-color:#232525;">$_POST</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_id'</span><span style="background-color:#232525;">]</span><span style="color:#cc7832;background-color:#232525;">;     //주문서 고유번호
</span><span style="color:#cc7832;background-color:#232525;">
</span><span style="color:#cc7832;background-color:#232525;">    </span><span style="color:#9876aa;background-color:#232525;">$sql </span><span style="background-color:#232525;">= </span><span style="color:#6a8759;background-color:#232525;">"SELECT </span><span style="color:#ffc66d;background-color:#232525;">*</span><span style="color:#6a8759;background-color:#232525;">
</span><span style="color:#6a8759;background-color:#232525;">            FROM medicine_list 
</span><span style="color:#6a8759;background-color:#232525;">            WHERE medi_id = </span><span style="color:#9876aa;background-color:#232525;">$medi_id</span><span style="color:#6a8759;background-color:#232525;">"</span><span style="color:#cc7832;background-color:#232525;">;      //주문한 상품의 count를 구하기위한
</span><span style="color:#cc7832;background-color:#232525;">    </span><span style="color:#9876aa;background-color:#232525;">$query </span><span style="background-color:#232525;">= sql_query(</span><span style="color:#9876aa;background-color:#232525;">$sql</span><span style="background-color:#232525;">)</span><span style="color:#cc7832;background-color:#232525;">;
</span><span style="color:#cc7832;background-color:#232525;">
</span><span style="color:#cc7832;background-color:#232525;">    </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">for </span><span style="background-color:#232525;">(</span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="background-color:#232525;">= </span><span style="color:#6897bb;background-color:#232525;">0</span><span style="color:#cc7832;background-color:#232525;">; </span><span style="color:#9876aa;background-color:#232525;">$row </span><span style="background-color:#232525;">= sql_fetch_array(</span><span style="color:#9876aa;background-color:#232525;">$query</span><span style="background-color:#232525;">)</span><span style="color:#cc7832;background-color:#232525;">; </span><span style="color:#9876aa;background-color:#232525;">$i</span><span style="background-color:#232525;">++) {
</span><span style="background-color:#232525;">        </span><span style="color:#9876aa;background-color:#232525;">$sql </span><span style="background-color:#232525;">= </span><span style="color:#6a8759;background-color:#232525;">"UPDATE medicine_list
</span><span style="color:#6a8759;background-color:#232525;">                SET </span><span style="color:#6a8759;background-color:#232525;">medi_gram = '</span><span style="background-color:#232525;">{</span><span style="color:#9876aa;background-color:#232525;">$_POST</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_gram'</span><span style="background-color:#232525;">]}</span><span style="color:#6a8759;background-color:#232525;">',
</span><span style="color:#6a8759;background-color:#232525;">                medi_price = '</span><span style="background-color:#232525;">{</span><span style="color:#9876aa;background-color:#232525;">$_POST</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'medi_price'</span><span style="background-color:#232525;">]}</span><span style="color:#6a8759;background-color:#232525;">'</span><span style="color:#6a8759;background-color:#232525;">
</span><span style="color:#6a8759;background-color:#232525;">                WHERE it_id = '</span><span style="background-color:#232525;">{</span><span style="color:#9876aa;background-color:#232525;">$row</span><span style="background-color:#232525;">[</span><span style="color:#6a8759;background-color:#232525;">'it_id'</span><span style="background-color:#232525;">]}</span><span style="color:#6a8759;background-color:#232525;">'
</span><span style="color:#6a8759;background-color:#232525;">                AND medi_id = '</span><span style="color:#9876aa;background-color:#232525;">$medi_id</span><span style="color:#6a8759;background-color:#232525;">'"</span><span style="color:#cc7832;background-color:#232525;">;
</span><span style="color:#cc7832;background-color:#232525;">        </span><span style="color:#9876aa;background-color:#232525;">$result </span><span style="background-color:#232525;">= sql_query(</span><span style="color:#9876aa;background-color:#232525;">$sql</span><span style="background-color:#232525;">)</span><span style="color:#cc7832;background-color:#232525;">;
</span><span style="color:#cc7832;background-color:#232525;">    </span><span style="background-color:#232525;">}
</span><span style="background-color:#232525;">    </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">if </span><span style="background-color:#232525;">(</span><span style="color:#9876aa;background-color:#232525;">$result</span><span style="background-color:#232525;">) </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">echo </span><span style="color:#6a8759;background-color:#232525;">"SUCCESS"</span><span style="color:#cc7832;background-color:#232525;">;
</span><span style="color:#cc7832;background-color:#232525;">    </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">else echo </span><span style="color:#6a8759;background-color:#232525;">"FAIL"</span><span style="color:#cc7832;background-color:#232525;">;
</span><span style="background-color:#232525;">}</span></p></pre><p>

 

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

 

(medicineW.php 페이지)

</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><span style="color:#e8bf6a;"><button</span><span style="color:#a5c261;"> </span><span style="color:#bababa;">onclick=</span><span style="color:#a5c261;">"</span><span style="color:#ffc66d;">add</span>(<span style="font-size: 9pt; color: rgb(204, 120, 50); background-color: rgb(35, 37, 37); font-weight: bold;"><?php echo </span><span style="font-size: 9pt; color: rgb(152, 118, 170); background-color: rgb(35, 37, 37);">$i </span><span style="font-size: 9pt; color: rgb(204, 120, 50); background-color: rgb(35, 37, 37); font-weight: bold;">?></span><span style="font-size: 9pt;">)</span><span style="font-size: 9pt; color: rgb(165, 194, 97);">"</span><span style="font-size: 9pt; color: rgb(232, 191, 106);">></span><span style="font-size: 9pt;">등록하기</span><span style="font-size: 9pt; color: rgb(232, 191, 106);"></button></span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><span style="color:#e8bf6a;">              </span><span style="color:#e8bf6a;">
</span><span style="color:#e8bf6a;"><script></span>
    <span style="color:#cc7832;font-weight:bold;">function </span><span style="color:#ffc66d;">add</span>(i){
        <span style="color:#ffc66d;">$</span>.<span style="color:#ffc66d;">ajax</span>({
            <span style="color:#6a8759;">'url' </span>: <span style="color:#6a8759;">'medicineS.php'</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'type' </span>: <span style="color:#6a8759;">'POST'</span><span style="color:#cc7832;">,</span><span style="color:#cc7832;">
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'data' </span>: {
                <span style="color:#6a8759;">'type' </span>: <span style="color:#6a8759;">"IU"</span><span style="color:#cc7832;">,</span><span style="color:#cc7832;">
</span><span style="color:#cc7832;">                </span><span style="color:#6a8759;">'medi_gram' </span>: <span style="color:#ffc66d;">$</span>(<span style="color:#6a8759;">'#medi_list'</span>).<span style="color:#ffc66d;">contents</span>().<span style="color:#ffc66d;">find</span>(<span style="color:#6a8759;">'#medi_gram'</span>+ <span style="color:#9876aa;">i</span>).<span style="color:#ffc66d;">val</span>()<span style="color:#cc7832;">,
</span><span style="color:#cc7832;">                </span><span style="color:#6a8759;">'medi_price' </span>: <span style="color:#ffc66d;">$</span>(<span style="color:#6a8759;">'#medi_list'</span>).<span style="color:#ffc66d;">contents</span>().<span style="color:#ffc66d;">find</span>(<span style="color:#6a8759;">'#medi_price'</span>+ <span style="color:#9876aa;">i</span>).<span style="color:#ffc66d;">val</span>()
            }<span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'success'</span>:<span style="color:#cc7832;font-weight:bold;">function</span>(){
                <span style="color:#ffc66d;">alert</span>(<span style="color:#6a8759;">'작성이 완료되었습니다.'</span><span style="color:#cc7832;">,</span><span style="color:#9876aa;">location</span>.<span style="color:#ffc66d;">reload</span>())<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">            </span>}
        })<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">    </span>}<span style="color:#cc7832;">
</span><span style="color:#e8bf6a;"></script></span></pre><p>

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

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

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

</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="background-color:#232525;">= </span><span style="color:#6897bb;background-color:#232525;">0</span><span style="color:#cc7832;background-color:#232525;">;</span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span><span style="color:#cc7832;font-weight:bold;">
</span><span style="color:#e8bf6a;"><button </span><span style="color:#bababa;">onclick=</span><span style="color:#a5c261;">"</span><span style="color:#ffc66d;">add_category</span>(<span style="color:#cc7832;background-color:#232525;font-weight:bold;"><?php echo </span><span style="color:#9876aa;background-color:#232525;">$i </span><span style="color:#cc7832;background-color:#232525;font-weight:bold;">?></span>)<span style="color:#a5c261;">"</span><span style="color:#e8bf6a;">></span>등록하기<span style="color:#e8bf6a;"></button></span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'굴림체';font-size:9.0pt;"><span style="color:#e8bf6a;"><script></span>
    <span style="color:#cc7832;font-weight:bold;">function </span><span style="color:#ffc66d;">add_category</span>(i){
        <span style="color:#ffc66d;">$</span>.<span style="color:#ffc66d;">ajax</span>({
            <span style="color:#6a8759;">'url' </span>: <span style="color:#6a8759;">'medicineS.php'</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'type' </span>: <span style="color:#6a8759;">'POST'</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#9876aa;">async</span>:<span style="color:#cc7832;font-weight:bold;">false</span><span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'data' </span>: {
                <span style="color:#6a8759;">'type' </span>: <span style="color:#6a8759;">"IU"</span><span style="color:#cc7832;">,</span><span style="color:#cc7832;">
</span><span style="color:#cc7832;">                </span><span style="color:#6a8759;">'medi_gram' </span>: <span style="color:#ffc66d;">$</span>(<span style="color:#6a8759;">'#medi_list'</span>).<span style="color:#ffc66d;">contents</span>().<span style="color:#ffc66d;">find</span>(<span style="color:#6a8759;">'#medi_gram'</span>+ i).<span style="color:#ffc66d;">val</span>()<span style="color:#cc7832;">,
</span><span style="color:#cc7832;">                </span><span style="color:#6a8759;">'medi_price' </span>: <span style="color:#ffc66d;">$</span>(<span style="color:#6a8759;">'#medi_list'</span>).<span style="color:#ffc66d;">contents</span>().<span style="color:#ffc66d;">find</span>(<span style="color:#6a8759;">'#medi_price'</span>+ i).<span style="color:#ffc66d;">val</span>()
            }<span style="color:#cc7832;">,
</span><span style="color:#cc7832;">            </span><span style="color:#6a8759;">'success'</span>:<span style="color:#cc7832;font-weight:bold;">function</span>(){
                <span style="color:#ffc66d;">alert</span>(<span style="color:#6a8759;">'작성이 완료되었습니다.'</span><span style="color:#cc7832;">,</span><span style="color:#9876aa;">location</span>.<span style="color:#ffc66d;">reload</span>())<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">            </span>}
        })<span style="color:#cc7832;">;
</span><span style="color:#cc7832;">    </span>}<span style="color:#cc7832;">
</span><span style="color:#e8bf6a;"></script></span></pre><p style="font-size: 14.6667px;">

 

 

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

답변 2개

A
9년 전

<input type="text" id="medi_gram<?php echo $i ?>" name="medi_gram<?php echo $i ?>"

 => <input type="text" id="medi_gram<?php echo $i ?>" name="medi_gram[]" 배열로

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

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

F
9년 전

이렇게보니 상당히 어지럽네요.

 

테스트 하시는 페이지를 보여주시면 감이 잡힐 것 같은데...

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

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

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

로그인