複数のデータを削除する

<html>
<head>
<title>複数のデータを削除する(MySQL)</title>
</head>
<body>
<h3>複数のデータを削除する(MySQL)</h3>
<?php
// 接続設定(サーバ/データベース/ユーザ/パスワード)
$sv = "localhost";
$dbname = "
BOOKDB";
$user = "root";

// 表示文字コード
$disp_enc = "SJIS";

// データの文字コードを変換する関数
function cnv_dbstring($string, $enc) {
// 文字コードを変換する
$det_enc = mb_detect_encoding($string, "EUC-JP, SJIS");
if ($det_enc and $det_enc != $enc) {
return mb_convert_encoding($string, $enc, $det_enc);
}
else {
return $string;
}
}
// データベースに接続する
$conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
mysql_select_db($dbname) or die("接続エラー");



一覧表示されたデータから、削除したいデータにチェックを入れて削除します。

チェックボックスからデータを受け取ります。
// 削除するデータを取得する
if (@$_POST["c1"]) {
// 削除対象データを取得する
$c1 = $_POST["c1"];

// SQLを組み立てる
$sql = "DELETE FROM
booktable WHERE (id IN (";
↑DELETEは、「WHERE」以下で指定されている条件にマッチするレコードを
指定されたテーブルから削除し、削除したレコードの数を返します。
チェックされた場所の値が配列にセットされているので、1つずつ処理しながら
「WHERE」以下の条件に反映させています。

for ($i = 0; $i < count($c1); $i++) {
$sql .= $c1[$i];
if ($i < count($c1) - 1) {
$sql .= ", ";
}
else {
$sql .= "))";
}
}
mysql_query($sql, $conn) or die("データ削除エラー");
↑SQLクエリをMySQLに送信する
}


// データを取り出す
$sql = "SELECT
id, bookname, author, pub, price, year, point FROM booktable ORDER BY id";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");

// 取り出したデータを表示する
echo "<table border=\"1\">";
echo "<tr>";
echo "<td> </td>";
echo "<td>
ID</td>";
echo "<td>
書籍名</td>";
echo "<td>
著者名</td>";
echo "<td>
出版社</td>";
echo "<td>
値段</td>";
echo "<td>
発行年</td>";
echo "<td>
評価</td>";
echo "</tr>";

while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
echo "<form method=\"POST\" action=\"".$_SERVER["PHP_SELF"]."\">";
echo "<tr>";
echo "<td><input type=\"checkbox\"
name=\"c1[]\" value=\"".$row["id"]."\"></td>";
echo "<input type=\"hidden\"
value=\"".$row["id"]."\" name=\"id\">";
echo "<td>".$row["
id"]."</td>";
echo "<td>".$row["
bookname"]."</td>";
echo "<td>".$row["
author"]."</td>";
echo "<td>".$row["
pub"]."</td>";
echo "<td>".$row["
price"]."</td>";
echo "<td>".$row["
year"]."</td>";
echo "<td>".$row["
point"]."</td>";
echo "</tr>";
}
echo "<tr>";

echo "<td colspan=\"5\"><input type=\"submit\"
value=\"選択したデータを削除\" name=\"sub1\"></td>";
echo "<input type=\"hidden\" value=\"delall\" name=\"act\">";
echo "</form>";
echo "</tr>";
echo "</table>";

// 接続を解除する
mysql_close($conn);
?>
</body>
</html>