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

글쓰기 인풋 추가 후 DB 및 수정 할때 값 관련 문의 채택완료

달료라 1년 전 조회 4,362

</p>

<p><div class="input_wrap">

        <div class="input_list">

            <textarea type="text" id="wr_subject" name="wr_subject" rows="5" required class="form-control required" placeholder="입력해주세요." />

<?php 

                    if(empty(trim($write['wr_subject']))) {

                        echo" 상품명 : \n 상품URL : \n 가격 : \n 수량 : \n 옵션 : ";

                    } else {

                        echo $write['wr_subject'];

                    }

                    ?>

</textarea>

        </div>

    </div>

    <button class="add_field">추가하기</button></p>

<p><script>

const wrapper = $('.input_wrap'); // 입력 필드를 포함하는 컨테이너 선택

const addButton = $('.add_field'); // 추가 버튼 선택

const maxFields = 10; // 최대 입력 필드 수 설정

let fieldCount = 1; // 현재 입력 필드 수</p>

<p>// '추가하기' 버튼 클릭 시 이벤트

addButton.click(function(e) {

    e.preventDefault(); // 페이지 리로드 방지

    if (fieldCount < maxFields) { // 최대 필드 수 체크

        fieldCount++; // 필드 수 증가

        // 새 입력 필드 추가

        wrapper.append(`

            <div class="input_list">

                <textarea type="text" id="wr_31" name="wr_31" rows="5" required class="form-control required" /> 상품명 : \n 상품URL: \n 가격 : \n 수량: \n 옵션 :</textarea>

                <a href="javascript:void(0);" class="remove_field">삭제</a>

            </div>

        `);

    }0

});</p>

<p>// '삭제' 링크 클릭 시 이벤트

wrapper.on('click', '.remove_field', function(e) {

    e.preventDefault(); // 페이지 리로드 방지

    $(this).parent('.input_list').remove(); // 필드 제거

    fieldCount--; // 필드 수 감소

});</p>

<p></script></p>

<p>

위 소스는 추가 버튼을 눌러 필드가 추가 되고,  wr_31에 저장이 되는데, 뷰에서는 wr_31을 불러와서 값이 보이는데, 수정을 하게 되면, 해당 wr_31에 저장 된 값이 나타나지 않고, wr_subject 만 값을 불러옵니다. 

wr_31 값이 수정 할때 보이게 하는 방법이 있을까요?

 

그리고, 추가는 10개까지 가능하게 한것인데, wr_31 이후에는 값이 저장 되지 않습니다. 혹시 추가버튼을 누르면, 생성 될때마다 wr_31~ wr_39까지 생성이 되게 하는 방법이 있을까요?

고수님들에 가르침 기다리겠습니다. 코딩의 천재 분이 계실까요... 이것저것 여러가지 방법을 해봤는데, 쉽지가 않네요~

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

답변 2개

채택된 답변
+20 포인트

$w == u  (글수정)일때  wr_31 ~ 39 필드를 강제 출력시키셔야 할 듯 합니다..

 

자바스크립트로 생성된 html 는 동적으로 생성된 소스라

글 수정시에는 php로 값이 들어가있으면 echo 로 html 과 DB내용이 출력되게끔 처리해야합니다.

<?php if($s=31; $s<=39; $i++) { ?>

    <?php if($write['wr_'.$s]) { ?>

           <div class="input_list">

            <textarea type="text" id="wr_<?php echo $s; ?>" name="wr_<?php echo $s; ?>" rows="5" required class="form-control required" /><?php echo $write['wr_'.$s]; ?></textarea>

            <a href="javascript:void(0);" class="remove_field">삭제</a>

            </div>

    <?php } ?>

<?php } ?>

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

답변에 대한 댓글 2개

달료라
1년 전
좋은 답변 감사합니다 ~~ 혹시 해당 부분은 어떻게 추가를 시키면 될까요?
간장게장같은남자
1년 전
write.skin.php 에 넣으실곳에 넣으시면될듯 합니다.
글쓰기나 글수정이나 똑같이 write.skin.php 사용합니다.

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

1년 전

 

저렇게 입력을 해서 용도가 무엇인지

모르겠으나 기본 등록구조가 잘못된 것 같습니다

하나의 게시물당 상품수량을 1개 ~ 10개 랜덤하게 등록하는 것도 이상하고

저렇게 등록하면 상품을 검색하는 것이 어려을테고 상품을 찾아  삭제/수정하기도  어려운데 왜 저런 구조로  만드는 것인지 이해가 안되는군요

각각의 상품이 이미지는 아예 필요 없는  상황인가요?

 

상품 하나당 하나의 게시물로 등록되게 만들어야하지않을까 생각됩니다

 

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

답변에 대한 댓글 1개

달료라
1년 전
하나당 하나의 게시물로 만들려면 여러가지로 필드를 세분화 해야 되서, 통으로 하려고 합니다.
각 상품에 대한 이미지를 없어도 되서, 수정할때만 추가된 필드만 수정 할 수만 있으면 되는거라서~
최대한 단순하게 만들려고 하는데, 제가한 구조는 문제가 많은 가보네요^^ 뭔가가 잘 안되서~

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

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

로그인