ホームページ  >  記事  >  バックエンド開発  >  PHP でチェックボックスを使用して複数のデータベース行を適切に削除する方法

PHP でチェックボックスを使用して複数のデータベース行を適切に削除する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-25 19:42:02211ブラウズ

How to Properly Delete Multiple Database Rows Using Checkboxes in PHP?

PHP のチェックボックスを使用してデータベース行を共同削除する

MySQL の拠点から複数の行をパージするというタスクに直面して、コーディングの知恵の深さについての啓発を求めました。 。このデータ クレンジングの取り組みに着手しているときに、乗り越えられない障害に遭遇したようです。

あなたが作成したコードは、意図的には勇敢ですが、行の全滅という本来の目的を実行できません。この障害を克服することを決意し、あなたは尊敬されるコーディング コミュニティにコードを提示して指導を求めます。

<code class="html">// PHP witchcraft to connect to MySQL
$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('MySQL is out to get you!');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc, $query) or die('Whoops! Query went awry!');
$count = mysqli_num_rows($result);</code>
<code class="html">// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo <<<HTML
<tr>
    <td><input type="checkbox" name="checkbox[]" value="$row[link_id]"></td>
    <td>$row[link_id]</td>
    <td>$row[link_name]</td>
    <td>$row[link_url]</td>
</tr>
HTML;
}</code>
<code class="html">// The arsenal of deletion awaits your command
if (isset($_POST['delete'])) {
    // Retrieve your checked victims
    $checkbox = $_POST['checkbox'];

    // Summon the wrath of deletion upon each victim
    foreach ($checkbox as $del_id) {
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        // Unleash the purging power!
        $result = mysqli_query($dbc, $sql);
    }

    // If successful, redirect to the crime scene
    if ($result) {
        echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';
    }
}</code>

賢者の解決策

残念なことに、あなたのコードは以下の理由でつまずいてしまいます。いくつかの重大な見落とし:

  1. 配列または単一: チェックボックスの入力タグには、配列として扱うための [] 接尾辞がありません。これがないと、PHP は複数の選択を正しく認識できません。 name="checkbox[]" を使用してください。
  2. データベース召喚: クエリ実行行に接続変数がありませんでした。 $result = mysqli_query($dbc, $sql); となるはずです。

これらの修正により、コードはデジタル魔術師のように行を追放します。新たな自信を持ってデータクレンジングの探求に乗り出しましょう!

以上がPHP でチェックボックスを使用して複数のデータベース行を適切に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。