การใช้คำสั่งในการ DELETE ข้อมูลจากฐานข้อมูล
จาก ตัวอย่างที่เเล้วเราได้ทำการ INSERT ข้อมูลลงฐานข้อมูล เเละสามารถทำการแก้ไขข้อมูลได้ในคำสั่ง UPDATE ในตัวอย่างนี้จะทำการลบข้อมูลออกจากฐานข้อมูล
โดยคำสั่ง SQL
ในการลบ เราจะสร้าง link ในไฟล์ list.php คล้ายๆ กับการสร้าง link ไปยัง UPDATE
|
<a href="/form.php?id=<?php echo $fetch['rank_id']; ?>">edit </a>
|
ในตัวอย่างการ DELETE ข้อมูลเราจะเขียนคำสั่ง SQL เพื่อทำการลบในไฟล์ list.php เลย
ไฟล์ตัวอย่าง :: list.php |
<?php require_once 'connect.php'; if(isset($_GET['id'])) { $sql ="SELECT rank_image FROM phpbb_ranks WHERE rank_id = ".$_GET['id']; $result = mysql_query($sql); $data = mysql_fetch_assoc($result); $path =__DIR__.DIRECTORY_SEPARATOR.'image'.DIRECTORY_SEPARATOR.$data['rank_image']; if(file_exists($path) && !empty($data['rank_image'])){ unlink($path); } mysql_query("DELETE FROM phpbb_ranks WHERE rank_id=" .$_GET['id']); } $sql ="SELECT * FROM phpbb_ranks"; $result = mysql_query($sql); ?> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <table border="1"> <tr> <th>id</th> <th>rank title</th> <th>rank min</th> <th>rank special</th> <th>rank image</th> <th>tools</th> </tr> <?php while ($fetch = mysql_fetch_assoc($result)){ ?> <tr> <td><?php echo $fetch['rank_id']?></td> <td><?php echo $fetch['rank_title']?></td> <td><?php echo $fetch['rank_min']?></td> <td><?php echo $fetch['rank_special']?></td> <td> <?php if(isset($fetch['rank_image'])){ if(!empty($fetch['rank_image'])){ echo '<img src="/image/'.$fetch['rank_image'].'" width="50"/><br>'; } } ?> </td> <td> <a href="/form.php?id=<?php echo $fetch['rank_id']; ?>">edit </a> <a href="/list.php?id=<?php echo $fetch['rank_id']; ?>">del </a> </td> </tr> <?php } ?> </table> </body> </html>
|
คำอธิบาย
<?php require_once 'connect.php'; if(isset($_GET['id'])) { $sql ="SELECT rank_image FROM phpbb_ranks WHERE rank_id = ".$_GET['id']; $result = mysql_query($sql); $data = mysql_fetch_assoc($result); $path =__DIR__.DIRECTORY_SEPARATOR.'image'.DIRECTORY_SEPARATOR.$data['rank_image']; if(file_exists($path) && !empty($data['rank_image'])){ unlink($path); } mysql_query("DELETE FROM phpbb_ranks WHERE rank_id=" .$_GET['id']); } $sql ="SELECT * FROM phpbb_ranks"; $result = mysql_query($sql); ?>
|
จากตัวอย่างที่เเล้วที่เราได้ทำการเขียนคำสั่งในการดึงข้อมูลจากฐานข้อมูลมาเเสดง ในตัวอย่างนี้เราก็จะทำการเพิ่มคำสั่งในการ ลบ ข้อมูล เเละ ในตัวอย่างนี้จะเป็นการลบข้อมูลเเละไฟล์รูปภาพที่เราได้ทำการเก็บไว้ในโฟล์เดอร์
ในการลบก็จะมีคำสั่ง SQL คือ
mysql_query("DELETE FROM phpbb_ranks WHERE rank_id=" .$_GET['id']);
|
คำสั่งนี้จะสามารถลบข้อมูลจากฐานข้อมูลได้ เเต่ยังไม่มีการลบไฟล์ภาพออกจากโฟล์เดอร์