セクション 13.3「手順に従ってリスト表示を作成する」に進みます。削除には、単一行のデータの削除と複数行のデータの削除があります。
単一選択削除か複数選択削除かを決定します
1. 1 行で、get でパラメーターを渡し、対応する ID を delete.php ファイルに書き込みます。
2. 複数の削除では、POST を通じて対応する ID が delete.php ページに渡されます。
3. これら 2 つのどちらも満たされない場合、データは違法であると見なすことができます。
if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '数据不合法'; exit; }
SQL ステートメントの結合
削除時に in サブステートメントを使用できることは、MySQL の章で以前に説明しました。
ここでも同様に、in サブステートメントを使用して効果を実現できます。
join 関数は、複数選択の削除によって渡された ID を 3、4、5 の形式に変更します。複数選択の削除の最後の SQL ステートメントには、次のような効果があります:
delete from user where id in(3,4,5,6,8);
そして、単一- select 削除ステートメントは次のようになります:
delete from user where id in(3)
このようにして、単一選択と複数選択の適応効果を実現します。
$sql = "delete from user where id in($id)";
最終的な完全なコードのデモは次のとおりです:
<?php include 'connection.php'; if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '数据不合法'; exit; } $sql = "delete from user where id in($id)"; $result = mysqli_query($conn, $sql); if ($result) { echo '删除成功'; } else { echo '删除失败'; } ?>