자바스크립트로 추가된 자료 php로 mysql 저장하기

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
자바스크립트로 추가된 자료 php로 mysql 저장하기

QA

자바스크립트로 추가된 자료 php로 mysql 저장하기

본문

제목이 알아듣기 힘든점 죄송합니다 ㅠ 

 

php엑셀로 자료를 받아온 후에 table로 표에 뿌려주었습니다.

 

그리고 자바스크립트로 해당 표 위쪽에 자유롭게 데이터를 추가 할 수 있는 코드를 추가해 주었습니다.

 

이 자료들은 전부다 Id와 password 인데 이자료들을 name = id[<?php echo count ?>] 이런식으로 

 

add.php로 넘겨서 mysql 에 저장하는 식입니다.. 

 

이경우에 기존에 excel로 추가된 자료들과 단 하나의 js로 추가된 자료가 db에 저장되는데 

 

안되는 제가 생각하는 이유는

 

.js는 브라우저 에서 동작하기 때문에 create element로 생성된 tr td input 요소의 count가 ++ 되지 않아서

 

같은데.. 이런 경우에는 어떻게 값을 넘겨서 모두 db에 추가 할 수 있을까요..? 

 

 

엘리먼트를 추가하는 코드는  아래이구 


var trTag = document.createElement("tr");
                        var table = document.querySelectorAll("[id='main_form']")[0].querySelector("tbody")
                        var i=10000;
                        table.insertBefore(trTag, table.childNodes[1]);
 
                        //var tdTag = document.createElement("td");
 
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].appendChild(document.createElement("td"))
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].appendChild(document.createElement("td"))
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].appendChild(document.createElement("td"))
 
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].querySelectorAll("td")[0].setAttribute("class", "hi")

 
                        var input = document.createElement("input")
                        input.setAttribute("type", "checkbox")
                        input.setAttribute("class", "check")

 
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].querySelectorAll("td")[0].appendChild(input)

 
                        var input1 = document.createElement("input")
                        input1.setAttribute("type", "text")
                        input1.setAttribute("class", "inputtag")
                        input1.setAttribute("name", "keyword[i]")
 
                        var input2 = document.createElement("input")
                        input2.setAttribute("type", "text")
                        input2.setAttribute("class", "inputtag")
                        input2.setAttribute("name", "number[i]")
                        console.log(input2);
                       
 
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].querySelectorAll("td")[1].appendChild(input1)
                        document.querySelectorAll("[id='main_form']")[0].querySelectorAll("tbody tr")[1].querySelectorAll("td")[2].appendChild(input2)
 

 

폼에서 php로 넘어가는 코드는 


<tr>
                        <td class="checkform"><input type="checkbox" class="check"></td>
                        <td><input type="text" class="inputtag" name="keyword[<?php echo "$count" ?>]" value=<?php echo $row['A'] ?>></td>
                        <td><input type="text" class="inputtag" name="number[<?php echo "$count" ?>]" value=<?php echo $row['B'] ?>></td>
 
                    </tr>
 
                <?php
                    $count++;
                }
 
                ?>

 

이렇습니다... 도움 부탁드립니다...ㅠㅠ 감을 못잡겠어서 .. 

이 질문에 댓글 쓰기 :

답변 2

코드와 내용을 확인하였을때 개인적인 생각으로 좀 모~~ 하다는 생각이 드네요.!

저의 생각이 맞는지는 모르겠습니다.만 현 tag안의 input형식의 값을  mysql로  update 내지는 insert하신다는 말씀이신지요? 혹시 아니면 js로 실시간으로  이 input 값이 들쑥 날쑥형식인가요?  조금 어렵게 개념을 잡으시는거 같아서요.

 


        var pf = document.write;
        var input_data = $(pf).serialize();
        var save_result = "";
        $.ajax({
            type: "POST",
            data: input_data,
            url: g5_url+"[입력받을 주소]",
            cache: false,
            async: false,
            success: function(data) {
                save_result = data;
            }
        });
 

 

위에 코드를 활용해보시면 입력값[tag]이 얼마가 많던 적던 ajax방식으로 입력페이지에서 받을수 있습니다.

이런식으로 하시면 도움이 되지 않을까 생각하면 구지 loop를 활용해서 하시는것보다 tr 안쪽에 input tag를 생성후에 넘겨주는 방식이 어떨까 생각해 보아요.

 

 

일단 도움 감사드립니다 ㅠ

웹 페이지는 excel 에 있는 id, pw 자료들을 테이블로 뿌려주고

개별적으로도 id , pw 를 추가하기 위해 칸을 추가 할 수 있습니다.

그리고 엑셀에서 잘 못된 정보들이 있을 수 있기 때문에 사용자가 검수 후 체크박스를 클릭하여

데이터들을 삭제할 수 있습니다. 그러고 마지막에 db 에 넣을 자료들을 간추린 후

db에 넣습니다.

이런 경우에도 해당 코드를 활용 할 수 있을까요 ..? 그리고 ajax를 쓰지 않는 방법도 있을까요..?

정보들을 저장한 후에 바로 다른 페이지로 이동이 되어야 해서요..

create element로 생성된 tr td input 요소의 count가 ++ 되지 않아서<---카운트 여부에 상관없이

form 내부에 추가했다면 당연히 add.php로 넘어 갑니다

add.php에서 print_r($_POST)해서 넘어온 값들을 보고 처리 방법을 찾으세요

 

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

회원로그인

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