アプリ版:「スタンプのみでお礼する」機能のリリースについて

php+mysqlで複数選択削除について

いつもお世話になっておりますm(_ _)m

今回の質問なんですが
チェックボックスで複数選択したものを一括で削除したいのですが、検索しても見つからないので質問しました!!

例)
// $_POST["id"] ← チェックボックスより選択されたデータ

// test ← テーブル名

foreach($_POST["id"] as $del){
delete test where id = $del;
}



簡単にですいません;;
普通は上記のようにループさせながら削除すると思うのですが、ループさせないで一括で削除したいのですが可能でしょうか?


下記の様にカンマ区切りで一括削除は可能でしょうか?

$sql = "delete test where ";
foreach($_POST["id"] as $del){
$sql .= "id = $del, ";
}
クエリ発行

A 回答 (2件)

INをつかいます



<form>
<input type="text" name="id[]" value="1">
<input type="text" name="id[]" value="3">
<input type="text" name="id[]" value="5">
<input type="submit" value="go">
</form>

<?
$array_id=$_REQUEST["id"];
$where_id="AND `id` IN('".implode("','",(array) $array_id)."')";
$sql = "delete test where 1\n";
$sql.=$where_id;
print $sql;
?>

バリデートとサニタイズは別途おこなってください
    • good
    • 1
この回答へのお礼

そういえばINというのもありましたね!
忘れていました;;
参考にさせていただきます♪
ありがとうございました!!

お礼日時:2010/08/10 23:57

他のテーブルの状況やらが解りませんが、通常ですと、Where 文で or で繋いでいけば一発で削除出来ます。

    • good
    • 0
この回答へのお礼

orで繋げてもできるんですね!
参考にさせていただきます♪
ありがとうございました!!

お礼日時:2010/08/10 23:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す