ตอนที่ 6: การลบข้อมูล (Delete) และการยืนยันก่อนลบด้วย JavaScript
สวัสดีครับนักเรียน มาถึงด่านสุดท้ายของ CRUD แล้ว! ฟังก์ชัน “ลบข้อมูล” เป็นดาบสองคม ทำถูก = ระบบเป็นระเบียบ ทำพลาด = ข้อมูลหายยกตาราง
เพราะงั้นบทนี้ครูจะเน้น 2 เรื่อง
- ลบให้ถูกแถว
- ป้องกันการกดผิด
วัตถุประสงค์ของบทนี้
- เข้าใจคำสั่ง SQL
DELETE - ส่งค่า ID ผ่าน URL อย่างปลอดภัย
- ใช้ JavaScript Confirm ป้องกันกดพลาด
- Redirect กลับหน้าหลักหลังลบ
1. เพิ่มปุ่มลบในตาราง
ที่หน้า display_users.php เราเพิ่มลิงก์แบบมีตัวกันพลาด
echo "<td>
<a href='delete_user.php?id=".$row['id']."'
onclick=\"return confirm('คุณแน่ใจใช่ไหมที่จะลบข้อมูลนี้?');\"
style='color:red;'>ลบ</a>
</td>";
> ถ้ากด Cancel → ลิงก์จะไม่ทำงาน > ถ้ากด OK → ไปหน้า delete_user.php
2. ไฟล์ลบข้อมูล (delete_user.php)
<?php
require_once 'db_config.php';
if (isset($_GET['id'])) {
$id = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "DELETE FROM users WHERE id = $id";
if (mysqli_query($conn, $sql)) {
echo "<script>
alert('ลบข้อมูลเรียบร้อยแล้ว');
window.location='display_users.php';
</script>";
} else {
echo "ไม่สามารถลบข้อมูลได้: "
. mysqli_error($conn);
}
} else {
header("Location: display_users.php");
}
mysqli_close($conn);
?>
3. เรื่องที่ครูต้องย้ำแรง ๆ
อันตรายระดับ 10 เต็ม 10
ถ้าเขียนแบบนี้DELETE FROM users
โดยไม่มี WHERE = สมาชิกหายทั้งตารางทันที!
ครูเคยเห็นนักเรียนพลาดมาแล้ว กดรันทีเดียวข้อมูลหายเกลี้ยง
แบบฝึกหัด
- ตรวจสอบก่อนลบ
เช็คก่อนว่า id นี้มีอยู่จริงหรือไม่ - ด่านท้าทาย
ถ้ามีระบบ Login ห้ามผู้ใช้ลบตัวเอง
สรุปเส้นทาง 6 ตอนที่ผ่านมา
ตอนนี้ทุกคนได้เรียนครบหัวใจของเว็บแอปแล้ว
- C – Create → เพิ่มข้อมูล
- R – Read → แสดงข้อมูล
- U – Update → แก้ไขข้อมูล
- D – Delete → ลบข้อมูล
นี่คือพื้นฐานที่ใช้กับ
- ระบบสมาชิก
- ระบบสต็อก
- ระบบจองคิว
- โปรเจกต์ ปวช./ปวส.
Cheat Sheet ฉบับนักเรียนต้องจำ
| หน้าที่ | คำสั่ง |
|---|---|
| เพิ่ม | INSERT INTO table ... |
| อ่าน | SELECT * FROM table |
| แก้ไข | UPDATE table SET ... WHERE id= |
| ลบ | DELETE FROM table WHERE id= |
ก้าวต่อไปที่ครูอยากให้เรียน
การทำเว็บต้องปลอดภัยกว่านี้
- ใช้
password_hash() - ใช้
password_verify() - จัดการ Session
- Prepared Statement
// ตัวอย่าง Hash รหัสผ่าน
$hash = password_hash($pass, PASSWORD_DEFAULT);
if (password_verify($input, $hash)) {
echo "เข้าสู่ระบบสำเร็จ";
}
สรุปจากครูส่งท้ายคอร์ส
ถ้านักเรียนทำตามได้ครบ 6 ตอน ครูบอกเลยว่า
> พร้อมทำโปรเจกต์จบ > พร้อมต่อยอดระบบ Login > พร้อมเรียน Framework ต่อ
การเขียนโปรแกรมไม่ใช่เรื่องของคนเก่ง แต่เป็นเรื่องของ “คนที่ฝึกทุกวัน”
ขอบคุณที่เรียนมาด้วยกันครับ แล้วเจอกันใน ตอนที่ 7: Workshop ระบบ Login พร้อมระบบตรวจสอบสิทธิ์ (Session Authentication)
