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

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

QA

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

답변 2

본문


<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>
<script>
const wrapper = $('.input_wrap'); // 입력 필드를 포함하는 컨테이너 선택
const addButton = $('.add_field'); // 추가 버튼 선택
const maxFields = 10; // 최대 입력 필드 수 설정
let fieldCount = 1; // 현재 입력 필드 수
// '추가하기' 버튼 클릭 시 이벤트
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
});
// '삭제' 링크 클릭 시 이벤트
wrapper.on('click', '.remove_field', function(e) {
    e.preventDefault(); // 페이지 리로드 방지
    $(this).parent('.input_list').remove(); // 필드 제거
    fieldCount--; // 필드 수 감소
});
</script>

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

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

 

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

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

이 질문에 댓글 쓰기 :

답변 2

$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 } ?>

 

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

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

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

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

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

 

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

 

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 5
© SIRSOFT
현재 페이지 제일 처음으로