Maison >développement back-end >tutoriel php >Comment supprimer plusieurs lignes à l'aide de cases à cocher en PHP : un guide de débogage
Suppression de plusieurs lignes via la sélection de cases à cocher en PHP
Lorsque vous rencontrez des difficultés lors de la suppression de plusieurs lignes d'une table de base de données MySQL, il est crucial d'examiner attentivement le code PHP pour toute erreur potentielle. Un problème courant survient lorsque vous essayez de sélectionner des cases à cocher à supprimer.
Sélection et bouclage des cases à cocher
Au départ, le code PHP utilisait des cases à cocher individuelles avec des noms distincts. Pour résoudre ce problème, nous devons les traiter comme un tableau en utilisant "checkbox[]". Cela nous permet de déterminer combien de cases à cocher ont été sélectionnées et de les parcourir ensuite pour les supprimer.
Connexion à la base de données dans la requête
Une erreur supplémentaire a été découverte dans le code. La fonction "mysqli_query" nécessite deux paramètres : la connexion à la base de données et la chaîne de requête. Dans le code fourni, la connexion à la base de données n'a pas été transmise à la requête. En ajoutant le paramètre de connexion à la base de données, la requête peut être exécutée correctement.
Code optimisé
Le code ci-dessous intègre à la fois le traitement du tableau pour les cases à cocher et l'inclusion de la base de données connexion dans la requête :
<code class="php">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">'; } }</code>
En implémentant ces modifications, vous pouvez supprimer efficacement plusieurs lignes de votre table de base de données à l'aide de cases à cocher.
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!