"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment supprimer correctement plusieurs lignes de base de données à l’aide de cases à cocher en PHP ?

Comment supprimer correctement plusieurs lignes de base de données à l’aide de cases à cocher en PHP ?

Publié le 2024-11-19
Parcourir:444

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

Suppression collaborative de lignes de base de données avec des cases à cocher en PHP

Confronté à la tâche de purger plusieurs lignes de votre forteresse MySQL, vous avez cherché l'illumination dans les profondeurs de la sagesse du codage . En vous lançant dans cette entreprise de nettoyage des données, vous vous êtes apparemment heurté à un obstacle insurmontable.

Le code que vous avez créé, bien que vaillant dans son intention, ne parvient pas à exécuter son objectif d'annihilation de lignes. Déterminé à surmonter cet obstacle, vous demandez conseil en présentant votre code à la prestigieuse communauté de codeurs :

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

La solution de Sage

Hélas, votre code échoue à cause de quelques oublis critiques :

  1. Array ou Single : Votre case à cocher les balises n'ont pas le suffixe [] pour les traiter comme un tableau. Sans cela, PHP ne reconnaîtra pas correctement plusieurs sélections. Utilisez name="checkbox[]".
  2. Invocation de base de données : Il manquait la variable de connexion dans la ligne d'exécution de votre requête. Cela devrait être $result = mysqli_query($dbc, $sql);.

Avec ces rectifications, votre code bannira les lignes comme un sorcier numérique. Lancez-vous dans votre quête de nettoyage des données avec une confiance renouvelée !

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3