Maison >développement back-end >tutoriel php >Comment supprimer plusieurs lignes à l'aide de cases à cocher en PHP : résoudre les erreurs courantes et garantir une exécution réussie ?
Lors de la suppression de plusieurs lignes d'une table de base de données MySQL à l'aide de PHP, la sélection de liens à l'aide de cases à cocher nécessite un codage minutieux pour garantir une exécution réussie. Cet extrait de code offre une solution à un problème courant :
<code class="php"><html> <head> <title>Links Page</title> </head> <body> <h2>Choose and delete selected links.</h2> <?php $dbc = mysqli_connect('localhost','root','admin','sample') or die('Error connecting to MySQL server'); $query = "select * from links ORDER BY link_id"; $result = mysqli_query($dbc,$query) or die('Error querying database'); $count=mysqli_num_rows($result); ?> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td> <form name="form1" method="post" action=""> <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td bgcolor="#FFFFFF"> </td> <td colspan="3" bgcolor="#FFFFFF"> <strong>Delete multiple links</strong> </td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"> <strong>Link ID</strong> </td> <td align="center" bgcolor="#FFFFFF"> <strong>Link Name</strong> </td> <td align="center" bgcolor="#FFFFFF"> <strong>Link URL</strong> </td> </tr> <?php while ($row=mysqli_fetch_array($result)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"> <input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>"> </td> <td bgcolor="#FFFFFF"> <?php echo $row['link_id']; ?> </td> <td bgcolor="#FFFFFF"> <?php echo $row['link_name']; ?> </td> <td bgcolor="#FFFFFF"> <?php echo $row['link_url']; ?> </td> </tr> <?php } ?> <tr> <td colspan="4" align="center" bgcolor="#FFFFFF"> <input name="delete" type="submit" value="Delete"> </td> </tr> </table> </form> </td> </tr> </table> <?php // Check if delete button active, start this 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); // Pass the database connection here } // if successful redirect to view_links.php if($result){ echo '<meta http-equiv="refresh" content="0;URL=view_links.php">'; } } mysqli_close($dbc); ?> </body> </html></code>
Le correctif :
Avec ces modifications, le code devrait correctement supprimer plusieurs lignes en fonction des cases à cocher sélectionnées.
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!