자바스크립트 체크박스 배열 값 DB저장
본문
function ajax_del(){
if (!confirm(`정말로 삭제하시겠습니까?`)) {
//취소(아니오) 버튼 클릭 시 이벤트
} else {
// 확인(예) 버튼 클릭 시 이벤트
var chk = [];
$("input[name='chk[]']:checked").each(function(i){
chk.push($(this).val());
});
let data = {"chk" : chk};
console.log(data);
$.ajax({
url:"<?php echo G5_URL?>/admin/ajax_delete.php",
type:'POST',
data: data,
success:function(data){
alert("삭제가 완료되었습니다.");
location.reload(true);
},
error:function(jqXHR, textStatus, errorThrown){
alert("에러 발생~~ \n" + textStatus + " : " + errorThrown);
self.close();
}
});
}
}
스크립트로 체크된 배열값을 보내긴 하였습니다.
ajax_delete.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/common.php';
$chk_arr = $_POST["chk"];
$cnt = count($chk_arr);
$subqry='';
$it_id_array = array();
$it_price_array = array();
$pin_array = array();
for($i=0; $i<$cnt; $i++) {
if($subqry) $subqry .= ',';
$subqry .= $chk_arr[$i];
}
if($subqry) {
$find_no = "SELECT * FROM sw_pin_box WHERE no = ('.$subqry.')";
//sql_query("INSERT INTO sw_pin_box_del SET no = '{$find_no['no']}', it_id = '{$find_no['it_id']}', it_name = '{$find_no['it_name']}', it_price = '{$find_no['it_price']}', pin = '{$find_no['pin']}', status = 'N', datetime = NOW()");
sql_query('DELETE from sw_pin_box where no in ('.$subqry.')');
}
?>
배열값은 no이고 no에 해당된 데이터정보들을 삭제는 가능합니다. 하지만 sw_pin_box테이블에서는 삭제되지만 그 정보들을 그대로 sw_pin_box_del테이블에 insert를 해야하는데 이름이랑 등등을 배열로 다시 해야하는데 어려워서 해결하지못하고있습니다ㅠㅠㅠ 방법좀알려주세요..
!-->!-->답변 1
if($subqry) {
$find_no = sql_fetch("SELECT * FROM sw_pin_box WHERE no IN ($subqry)");
if ($find_no) {
sql_query("INSERT INTO sw_pin_box_del (no, it_id, it_name, it_price, pin, status, datetime)
VALUES ('{$find_no['no']}', '{$find_no['it_id']}', '{$find_no['it_name']}', '{$find_no['it_price']}', '{$find_no['pin']}', 'N', NOW())");
}
sql_query("DELETE from sw_pin_box where no in ($subqry)");
}
dud 님 다시 뵙네요, 해당 코드로 해보시겠나요?
!-->
답변을 작성하시기 전에 로그인 해주세요.