게시글 보기페이지에서 곧바로 수정이 되도록 만들고 싶습니다. 채택완료

위의 이미지는 view.skin.php 페이지 입니다.(write.skin.php가 아닙니다.)
위의 이미지에서 7월을 체크하고 등록하기를 누르면 그대로 업데이트가 되고, 새로고침이 되어 1~7월까지 완납이 되는 기능을 만들고싶은데, 등록하기 버튼의 이벤트는
<script>
$(document).on("click", ".paymentRegisterBtn", function() {
const id = "<?php echo $write['wr_id'] ?>";
let wr9Val = $("#wr9Val").val();
const checkVal = $("input[name=wr_9_1]:checked");
if(checkVal.length < 1) {
alert("요금체크를 하지않았습니다.");
return false;
} else {
checkVal.each(function() {
wr9Val += "/" + $(this).val();
})
}
})
</script>
이렇게 작성하였습니다.
여기서부터 수정하는 기능을 작성하는것이 막혔는데,
sql로 해당 테이블에서 wr_id = 'id'인 데이터에서, wr_9 필드의 값을 wr9Val로 업데이트하는 것이 필요합니다.
쿼리로 작성한다면
UPDATE g5_write_contract SET wr_9 = '1월/2월/3월/4월/5월/6월/7월' WHERE wr_id=22
가 되겠습니다.
이걸 버튼에 이벤트로 작성하고싶은데, 그 방법을 모르겠습니다.
어떻게하면 등록하기 버튼을 눌렀을때 sql update 구문을 사용할수 있는지 알고싶습니다.
답변 2개
이건 따로 업데이트 페이지를 만들어야 합니다.
그래서 버튼 클릭시 폼액션으로 갔다 오거나 아니면 ajax 처리하거나 해야 합니다.
아니면 한 페이지내에서 모두 적용하려면...
참고는 하시되 액션페이지를 따로 만드는 것이 더 안정적입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
form을 만들어 넣었나요?
다음을 추가하고
input type="hidden" name='wk" value="u"
input type="hidden" name='bo_table" value="contract"
input type="hidden" name='wk" value="<?php echo $wr_id?>"
위 자바스크립트에서 else 내부 삭제하고 이 폼의 subit()를 넣으세요
뷰스킨 상단에서
if($wk=="u" && $wr_9_1[0] ){
$wr_9 = $view['wr_9'].'/'.implode('/', $wr_9_1);
sql_query("UPDATE $write_table SET wr_9 = '$wr_9' WHERE wr_id='<?php echo $wr_id?>' ");
$view['wr_9'] = $wr_9;
}
답변에 대한 댓글 1개
먼저 wr_9의 값을 따로 저장하고,
wr_9_1이 체크될때 wr_9 값에 덧붙여 1/2/3이 /1/2/3/4 라는 값이 되어 input name="wr_9" 의 value에 넣었습니다.
이 input이 버튼을 감싸는 form안에 들어가도록 한뒤 실행하니 정상적으로 작동되는 것을 볼 수 있었습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
링크의 페이지를 보고 직접 작성해보니 정상적으로 기능이 작동하였습니다.