「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP でチェックボックスを使用して複数のデータベース行を適切に削除する方法

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

2024 年 11 月 19 日に公開
ブラウズ:899

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

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

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

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

// 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);
// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo 
    
    $row[link_id]
    $row[link_name]
    $row[link_url]

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 '';
    }
}

賢者の解決策

残念ながら、いくつかの重大な見落としが原因でコードが失敗します:

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

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3