GORAGOD.com

การลบข้อมูล ครั้งละหลาย Record

การลบข้อมูลครั้งละหลายๆ record ด้วยการเลือกข้อมูลรายการที่จะลบด้วย checkbox

<?
  //ค่ากำหนดของ ฐานข้อมูล
  $host="localhost";
  $username="root";
  $password="";
  $dbname="mydb";
  $table="sample";

  //เชื่อมต่อกับ MySQL
  $connect= mysql_connect( $host, $username, $password) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
  $db=mysql_select_db($dbname) or die("ฐานข้อมูลไม่ถูกต้อง");
  
  $seat=$_POST["seat];
  if (isset($seat)) {
    for ($n=0; $n<count($seat); $n++) {
      $sql="DELETE FROM $table WHERE ID = '$seat[$n]'";
      $query=mysql_query($sql) or die("ไม่สามารถลบข้อมูลได้");
    }
  }
  
  //คำสั่ง SQL ให้อ่านฐานข้อมูล
  $sql="SELECT * FROM $table ORDER BY ID";
  //Query ฐานข้อมูล
  $query=mysql_query($sql) or die("ไม่สามารถอ่านฐานข้อมูลได้");
  //จำนวนข้อมูลทั้งหมดที่อ่านได้
  $num_rows=mysql_num_rows($query);
?>

<head>
<title>ลบข้อมูล ครั้งละหลาย Record</title>
</head>
<body>
<form name=frm_send method=POST>
<table border="0" cellspacing="0" cellpadding="0">
<?
  for ($i=0; $i<$num_rows; $i++) {
    $result=mysql_fetch_array($query);
    echo "<tr><td><input type=checkbox name=seat[] value=$result[id]>$result[id]</td></tr> ";
  }
?>
</table>
<?
  //ยกเลิกการติดต่อกับฐานข้อมูล
  mysql_close($connect);
?>
<input type=submit value="ลบ ที่เลือก">
</form>
</body>
</html>

ฟอร์มสำหรับ checkbox เพื่อเลือกข้อมูลที่จะลบ พร้อมคำสั่ง MySQL สำหรับลบข้อมูล

# phpMyAdmin SQL Dump
# version 2.5.7-pl1
# http://www.phpmyadmin.net
#
# โฮสต์: localhost
# เวลาในการสร้าง: 19 ก.ย. 2006 น.
# รุ่นของเซิร์ฟเวอร์: 5.0.16
# รุ่นของ PHP: 4.4.1
#
# ฐานข้อมูล : `mydb`
#

# --------------------------------------------------------

#
# โครงสร้างตาราง `sample`
#

CREATE TABLE `sample` (
  `sel` smallint(11) default '0',
  `user` text character set utf8 NOT NULL,
  `id` text character set utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=tis620;

#
# dump ตาราง `sample`
#

INSERT INTO `sample` VALUES (0, '', 'A6');
INSERT INTO `sample` VALUES (0, '', 'A5');
INSERT INTO `sample` VALUES (0, '', 'A4');
INSERT INTO `sample` VALUES (0, '', 'A3');
INSERT INTO `sample` VALUES (0, '', 'A2');
INSERT INTO `sample` VALUES (0, '', 'A1');
INSERT INTO `sample` VALUES (1, 'poo', 'A0');
INSERT INTO `sample` VALUES (0, '', 'A7');
INSERT INTO `sample` VALUES (0, '', 'A8');
INSERT INTO `sample` VALUES (0, '', 'A9');

ฐานข้อมูล mydb - ตาราง sample ทำงานอยู่บน localhost