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:
ผลลัพธ์ที่ได้:
เปิด 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:
ผลลัพธ์ที่ได้:
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 ปิดการเชื่อมต่อฐานข้อมูล