<button class="btn btn-danger btn-sm btn_mem_delete" data-idx="<?= $row["idx"]; ?>">삭제</button>
그래서 필자는 중복되는 버튼을 해당 프로퍼티에 data-set을 설정하여 idx 값을 부여하고 개별의 삭제 버튼을 foreach() 문을 이용하여 삭제 기능을 만들어줬습니다.
// 삭제 버튼
const btn_mem_deletes = document.querySelectorAll(".btn_mem_delete")
btn_mem_deletes.forEach((box) => {
box.addEventListener("click", () => {
if (confirm("회원을 삭제하시겠습니까?")) {
const idx = box.dataset.idx
const xhr = new XMLHttpRequest()
const f = new FormData()
f.append("idx", idx)
xhr.open("post", "member_del.php", "true")
xhr.send(f)
xhr.onload = () => {
if (xhr.status == 200) {
const data = JSON.parse(xhr.responseText)
if (data.result == "success") {
location.reload()
}
} else {
alert("통신실패")
}
}
alert("삭제완료")
} else {
alert("삭제취소")
}
})
})
// 회원삭제
public function member_del($idx)
{
$sql = "DELETE FROM member WHERE idx=:idx";
$stmt = $this->conn->prepare($sql);
$stmt->bindParam(":idx", $idx);
$stmt->execute();
}
<?php
session_start();
$ss_id = (isset($_SESSION["id"]) && $_SESSION["id"] != "") ? $_SESSION["id"] : "";
$ss_level = (isset($_SESSION["level"]) && $_SESSION["level"] != "") ? $_SESSION["level"] : "";
if ($ss_id == "" || $ss_level != 99) {
$arr = ["result" => "access_denied"];
die(json_encode($arr));
}
include "../inc/dbconfig.php";
include "../inc/member.php";
$idx = (isset($_POST["idx"]) && $_POST["idx"] != "" && is_numeric($_POST["idx"])) ? $_POST["idx"] : "";
if ($idx == "") {
$arr = ["result" => "empty_idx"];
die(json_encode($arr));
}
$mem = new Member($db);
$mem->member_del($idx);
$arr = ["result" => "success"];
die(json_encode($arr));
다음 시간에는 회원을 수정하는 부분을 해보겠습니다.
감사합니다.