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
Libérer: 2024-11-28 08:53:13
original
384 Les gens l'ont consulté

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']; ?>">
Copier après la connexion

par :

<input name="checkbox[]" type="checkbox" value="
                    <?php echo $row['link_id']; ?>">
Copier après la connexion
  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);
Copier après la connexion

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">';
    }
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal