Maison >base de données >tutoriel mysql >Comment résoudre les problèmes de tableau de cases à cocher PHP et de connexion à la base de données lors de la suppression de plusieurs lignes de base de données ?

Comment résoudre les problèmes de tableau de cases à cocher PHP et de connexion à la base de données lors de la suppression de plusieurs lignes de base de données ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 08:53:13307parcourir

How to Fix PHP Checkbox Array and Database Connection Issues When Deleting Multiple Database Rows?

Utilisation de PHP pour supprimer plusieurs lignes en fonction de la sélection d'une case à cocher

Lorsque vous travaillez avec une base de données relationnelle, il est souvent nécessaire de supprimer plusieurs lignes simultanément. Pour ce faire, vous pouvez utiliser des cases à cocher dans un formulaire pour sélectionner les lignes à supprimer.

Dans ce guide, nous aborderons un problème courant rencontré lors de la suppression de plusieurs lignes à l'aide de PHP et de cases à cocher. Nous fournirons un aperçu concis du problème et de sa solution, sur la base des informations fournies dans l'énoncé du problème donné, sans répéter le titre "Supprimer plusieurs lignes en sélectionnant des cases à cocher à l'aide de PHP".

Le problème

Vous avez créé un fichier PHP qui permet aux utilisateurs de sélectionner et de supprimer des lignes spécifiques d'une table de base de données MySQL. Cependant, malgré la coche des cases et la soumission du formulaire, les lignes restent intactes. Cela suggère que le problème provient du code PHP.

La solution

Examinons le code PHP fourni et identifions l'erreur potentielle :

  1. Tableau de cases à cocher : Le script PHP traitait initialement la "case à cocher" comme un élément unique. Au lieu de cela, il doit être traité comme un tableau pour capturer correctement les cases sélectionnées. Pour rectifier cela, remplacez le code suivant :
<input name="checkbox" type="checkbox" value="
                    <?php echo $row['link_id']; ?>">

par :

<input name="checkbox[]" type="checkbox" value="
                    <?php echo $row['link_id']; ?>">
  1. Exécution de la requête : Le code PHP n'a pas réussi la connexion à la base de données à la requête qui supprime les lignes. Cette omission a entraîné l’échec de l’exécution de la requête. Pour corriger cela, ajoutez la ligne suivante avant d'exécuter la requête :
$result = mysqli_query($dbc, $sql);

où "$dbc" représente la connexion à la base de données.

Implémentation

Avec ceux-ci ajustements, votre script PHP devrait maintenant supprimer correctement les lignes sélectionnées lorsque vous cliquez sur le bouton "Supprimer". Voici le code PHP mis à jour qui gère cela :

if (isset($_POST['delete'])) {
    $checkbox = $_POST['checkbox'];

    for ($i = 0; $i < count($checkbox); $i++) {
        $del_id = $checkbox[$i];
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        $result = mysqli_query($dbc, $sql);
    }

    if ($result) {
        echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';
    }
}

En suivant ces étapes, vous pouvez supprimer avec succès plusieurs lignes de votre table de base de données en fonction de la sélection de l'utilisateur à l'aide de cases à cocher et de PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn