Delete Data ลบข้อมูล

 

      หลังจากที่ได้ปฏิบัติการเพิ่มข้อมูล แสดงข้อมูล สืบค้นข้อมูล และแก้ไขข้อมูลได้เรียบร้อยแล้ว

       มาในตอนนี้จะเป็นตอนสุดท้าย ที่จะกล่าวถึงการลบข้อมูล

       การลบข้อมูลนั้นเราต้องทราบว่า ในตารางข้อมูลนั้นมีข้อมูลอะไรอยู่บ้าง ดังนั้นเราจำเป็นต้องเปิดฐานข้อมูลให้ได้ก่อน เช่นเดียวกับการแก้ไขข้อมูล และขอใช้ show2.php ที่ใช้ในการแก้ไขข้อมูลมาใช้ร่วมกับการลบข้อมูลอีกครั้ง

       โปรแกรมประกอบไปด้วย

  1. file show2.php ที่เป็นส่วนนำเสนอข้อมูลเพื่อลบข้อมูล
  2. file del.php ที่ทำหน้าที่ประมวลผล ติดต่อฐานข้อมูล และลบข้อมูล

       1. file show2.php มีข้อมูลหรือ Source code ดังนี้

<?
//1 ติดต่อฐานข้อมูล MySql
         $link=mysql_connect("localhost","","");
         if (!$link)
         {
                    print("ERROR");
         }
         else

//2 เลือกเปิดดาต้าเบสชื่อ test
      {
                    mysql_select_db("test",$link);

//3 เลือกเปิดตารางชื่อ testcom
                    $sql="select * from testcom order by autonum DESC";
                    $res = mysql_query( $sql , $link );

                    print("<Table border=1>");

//4 เตรียมการส่งข้อมูลไปที่ del.php เพื่อทำการลบ
                    print("<form method=get action=del.php>");

//สร้างตาราง
                   print "<table border=1><tr><td>ลบ</td><td>แก้ไข</td><td>ชื่อ</td><td>ชั้น</td>                    <td>โรงเรียน</td> <td>วันที่ทำ</td><td>เวลาที่ทำ</td><td>ได้คะแนน</td></tr>";

//5 แสดงข้อมูลทุกเขตข้อมูล
                  while( $row=mysql_fetch_row($res))
                  {
                         print("<tr>");

//6. ส่งข้อมูลไปที่ del.php โดยอ้างตามลำดับที่ (autonum) เพื่อทำการลบข้อมูล
                   print("<td><input type=radio name=del value=$row[0]></td>");

//ส่งข้อมูลไปที่ edit.php โดยอ้างตามลำดับที่ (autonum) เพื่อทำแก้ไขข้อมูล
                  print("<td><a href=edit.php?autonum=$row[0]>$row[0]</a></td><td>$row[1]</td>");
                  print("<td> $row[2]</td><td>$row[3]</td><td>$row[4]</td>                           <td>$row[5]</td><td>$row[6]</td>");
                  print("</tr>");
         }
         print("</table><p>");
         print("<input type=submit value=ลบข้อมูล>");
         print("</form>");
         }
?>

การทำงาน ของโปรแกรมจะเป็นขั้นตอนตามที่ได้ระบายแดงไว้ ดังนี้

  1. ติดต่อโปรแกรมฐานข้อมูล MySQL
  2. เลือกดาต้าเบสชื่อ test
  3. เลือกตารางชื่อ testcom
  4. เตรียมการส่งข้อมูลไปที่ del.php เพื่อทำการลบ
  5. แสดงข้อมูลทุกเขตข้อมูล
  6. ส่งข้อมูลไปที่ del.php โดยอ้างตามลำดับที่ (autonum) เพื่อทำการลบข้อมูล

หมายเหตุ  เฉพาะส่วนที่ระบายสีน้ำเงินเป็นส่วนที่ทำงานเกี่ยวกับการแก้ไขข้อมูล ซึ่งได้กล่าวไปแล้วในหัวข้อแก้ไขข้อมูล

 2. file del.php มีข้อมูลหรือ Source code ดังนี้

<?
if ($del=="")
//1 ตรวจเช็คข้อมูลที่ต้องการจะลบ โดยส่งมาเป็นค่าตัวแปร $del ในเป็นข้อมูลลำดับที่
        {
           print("ERROR YOU DID NOT CHOOSE ANY THING.<BR>");
        }
           else
        {

//2 ติดต่อฐานข้อมูล MySQL
         $link=mysql_connect("localhost","","");
         if (!$link)
         {
                      print("ERROR MYSQL CONNECTION.");
         }
            else
        {

//3 เลือกเปิดดาต้าเบสชื่อ test
                     mysql_select_db("test",$link);

//4 คำสั่ง SQL "delete" ลบข้อมูลจากตาราง testcom ที่เขตข้อมูล autonum ในระเบียนที่ค่าตัวแปร $del เป็นตัวกำหนด
                    $sql = "delete from testcom where autonum='$del'";
                    $res = mysql_query( $sql , $link );
                    if ($res==1)
                                  print("ลบข้อมูลที่ $del เรียบร้อย.");
                    else
                                  print("Delete fail.");
             }
}
?>

การทำงาน ของโปรแกรมจะเป็นขั้นตอนตามที่ได้ระบายแดงไว้ ดังนี้

  1. ตรวจเช็คข้อมูลที่ต้องการจะลบ โดยส่งมาเป็นค่าตัวแปร $del ในเป็นข้อมูลลำดับที่
  2. ติดต่อโปรแกรมฐานข้อมูล MySQL
  3. เลือกเปิดดาต้าเบสชื่อ test
  4. คำสั่ง SQL "delete" ลบข้อมูลจากตาราง testcom ที่เขตข้อมูล autonum ในระเบียนที่ค่าตัวแปร $del เป็นตัวกำหนด

หากพบข้อความเตือนมีความหมายดังนี้

  • ERROR YOU DID NOT CHOOSE ANY THING หมายถึงไม่มีการส่งข้อมูลมาทำการลบ
  • ERROR MYSQL CONNECTION หมายถึงไม่สามารถติดต่อฐานข้อมูลได้
  • Delete fail หมายถึงไม่สามารถลบข้อมูลได้


ที่มา source code ส่วนระบบฐานข้อมูล:Thaidev.com
(ผู้เขียนนำมาปรับปรุงเพื่อใช้ในการเรียนการสอน ต้องขอขอบพระคุณ Thaidev.com มา ณ ที่นี้)

สงวนลิขสิทธิ์©: ThaiWBI.com. ผู้ช่วยศาสตราจารย์ ดร. ภาสกร เรืองรอง