8.7 การเขียนโปรแกรมภาษาพีเอชพี เพื่อลบข้อมูลในตาราง

      เมื่อต้องการเขียนโปรแกรมภาษาพีเอชพี เพื่อลบข้อมูลที่มีในตาราง สามารถเขียนโปรแกรมตามขั้นตอนได้ดังนี้

7.7.1 เชื่อมต่อกับฐานข้อมูล

     MySQL เริ่มต้นโดยการเชื่อมต่อกับฐานข้อมูล MySQL โดยใช้ฟังก์ชัน mysqli_connect() โดยระบุ hostname, username, password และชื่อฐานข้อมูลที่ต้องการเชื่อมต่อ

7.7.2 ส่งคำสั่ง SQL เพื่อลบข้อมูล

     ใช้คำสั่ง SQL DELETE เพื่อลบข้อมูลในตาราง โดยระบุชื่อ ตารางและเงื่อนไขที่ต้องการลบข้อมูล รูปแบบ คำสั่ง SQL DELETE

โดยที่: table_name คือชื่อของตารางที่ต้องการทำการลบข้อมูล

            condition เป็นเงื่อนไขที่ใช้ในการเลือกแถวที่ต้องการทำการลบข้อมูล ถ้าไม่มีเงื่อนไขจะลบ ข้อมูลทั้งหมดในตาราง

ตัวอย่างการใช้งานคำสั่ง SQL DELETE ใน MySQL:
7.7.2.1 ลบข้อมูลทั้งหมดในตาราง users:


7.7.2.2 ลบข้อมูลผู้ใช้ที่มี ID เท่ากับ 1 ในตาราง users


7.7.2.3 ลบข้อมูลสินค้าที่มีราคาน้อยกว่า 100 ในตาราง products


7.7.2.4 ลบข้อมูลคำสั่งซื้อที่ยังไม่ได้จัดส่งในตาราง orders

      คำสั่ง SQL DELETE จะลบข้อมูลตามเงื่อนไขที่ระบุ และจะคืนค่าเป็นจำนวนแถวที่ถูกลบ ซึ่งสามารถนำมาใช้ในการตรวจสอบว่ามีการลบข้อมูลเปลี่ยนแปลงในฐานข้อมูลหรือไม่

7.7.3 ส่งคำสั่ง SQL

      ไปยัง MySQL Server โดยใช้ฟังก์ชัน mysqli_query() เพื่อส่งคำสั่ง SQL ไปยัง MySQL Server เพื่อทำการลบข้อมูลในตาราง

7.7.4 ปิดการเชื่อมต่อ

      หลังจากแก้ไขข้อมูลเสร็จสิ้น ควรปิดการเชื่อมต่อกับฐานข้อมูล MySQL โดยใช้ฟังก์ชัน mysqli_close()

ตัวอย่างโปรแกรมที่ 7.6 การเขียนโปรแกรมภาษาพีเอชพี เพิ่มลบข้อมูลในตาราง

     เขียนโปรแกรมภาษาพีเอชพีเพื่อลบข้อมูลในตาราง ตามตัวอย่าง สามารถเขียนโปรแกรมตามขั้นตอนได้ดังนี้

ขั้นตอนที่ 1

     เปิดไฟล์ show_data.php  ที่ได้สร้างตามตัวอย่างที่ 7.5 ทำการเพิ่มเติม คำสั่งเพื่อสร้างปุ่มลบข้อมูลในไฟล์นี้ ตามตัวอย่าง

Source Code:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้: 


เปิด Web Browser พิมพ์ localhost/Test_Program/show_form.php จะแสดงหน้าจอดังรูปภาพ


เมื่อคลิกที่ข้อความ ลบ จะมีกล่องยืนยันก่อนลบข้อมูล ดังนี้

อธิบายโปรแกรม:

บรรทัดที่ 27 สร้างคอลัมน์ ลบ ในตารางเพิ่ม

บรรทัดที่ 48 สร้างคอลัมน์ ลบ โดยให้สามารถส่งข้อมูลที่อยู่ในฟิลด์ id ที่ต้องการลบ

ไปที่ไฟล์ delete_user.php และเพิ่มภาษาจาวาสคริปต์ (JavaScript) สร้างกล่องยืนยันก่อนลบข้อมูล ด้วย return confirm โดยใส่ข้อความแจ้งยืนยันการลบข้อมูลที่คำสั่ง confirm ว่า คุณต้องการลบข้อมูลนี้ใช่หรือไม่ ? และเรียกใช้งานผ่าน onclick ของแท็ก a ในภาษาเอชทีเอ็มแอล (HTML)

ขั้นตอนที่ 2

     สร้างไฟล์ delete_user.php และเขียน Source Code สำหรับการลบข้อมูล ในตารางตามตัวอย่าง


Source Code:

คลิกที่ปุ่ม RUN ด้านซ้ายเพื่อแสดงผลลัพธ์

ผลลัพธ์ที่ได้:


1. ทดสอบการทำงาน เปิด Web Browser พิมพ์ localhost/Test_Program/show_data.php จะแสดงหน้าจอดังรูปภาพ ทำการลบข้อมูล โดยคลิกลบ ข้อมูลผู้ใช้ลำดับที่ 2  จะปรากฏกล่องยืนยันก่อนลบข้อมูล หารคลิกที่ปุ่มยกเลิก ข้อมูลผู้ใช้ลำดับที่ 2 จะไม่ถูกลบ แต่ถ้าคลิกปุ่ม ตกลง ข้อมูลผู้ใช้ลำดับที่ 2 จะถูกส่งไปหน้าสำหรับลบข้อมูลผู้ใช้งาน (delete_user.php) และทำการลบข้อมูล ผู้ใช้ลำดับที่ 2


2. แสดงข้อความ "Record deleted successfully เมื่อลบข้อมูลได้สำเร็จ


3. เมื่อเปิด Web Browser localhost/Test_Program/show_data.php อีกครั้ง ข้อมูล ผู้ใช้ลำดับที่ 2 จะไม่แสดงในตาราง จะแสดงหน้าจอดังรูปภาพ


4. ตรวจสอบใน localhost/phpmyadmin จะพบข้อมูลเฉพาะรหัสผู้ใช้งานลำดับที่ 1 เท่านั้น

อธิบายโปรแกรม:

บรรทัดที่ 2 ใช้คำสั่ง require() นำเข้าไฟล์ connect.php เพื่อเชื่อมต่อฐานข้อมูล

บรรทัดที่ 3 ในคำสั่ง if ใช้ ฟังก์ชัน isset ตรวจสอบ ว่า มีการส่งค่า ตัวแปร $_GET[‘id’] มาหรือไม่

บรรทัดที่ 4 สร้างตัวแปร $id รับค่ามาจาก ตัวแปร $_GET[‘id’]

บรรทัดที่ 5 สร้างตัวแปร $sql เก็บค่าคำสั่ง SQL ลบข้อมูล ที่มีค่า id เท่ากับ ตัวแปร $id

บรรทัดที่ 7 คำสั่ง if ตรวจสอบการทำงานของฟังก์ชัน mysqli_query() ว่าเป็นค่าจริง หรือไม่

บรรทัดที่ 8 แสดงข้อความ "Record deleted successfully" กรณีคำสั่ง if มีการทำงานเป็นจริง

บรรทัดที่ 10 แสดงผล Error กรณีมีค่าเป็นเท็จ หรือมี Error เกิดขึ้น

บรรทัดที่ 13 ปิดการเชื่อมต่อฐานข้อมูล