Excluindo várias linhas usando caixas de seleção, PHP e MySQL
Como o título sugere, quero excluir várias linhas do meu banco de dados. Para conseguir isso eu tenho dois arquivos, um arquivo front-end que gera uma tabela que mostra os arquivos que um usuário pode excluir, que são escolhidos usando caixas de seleção.
O arquivo de backend é processar as caixas de seleção selecionadas e usar uma instrução SQL para excluir os arquivos escolhidos.
O problema que estou tendo é passar o id de um arquivo selecionado do front end para o back. O código para os dois arquivos está abaixo:
a parte dianteira
<code>//Build Table Query $query="SELECT * FROM documents"; $result= mysqli_query($con, $query) or die("Invalid query"); $count = mysqli_affected_rows($con); ?> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td><form name="form1" method="post" action="deletefilesback.php"> <table width="800" border="0" cellpadding="3" cellspacing="2" bgcolor="#CCCCCC"> <tr> <td colspan="5" bgcolor="#FFFFFF" align="center"><strong>Delete Multiple Files</strong></td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Title</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Description</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>File Location</strong></td> </tr> <?php while($row = mysqli_fetch_array($result)){ ?> <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?php echo $rows['id']; ?>"></td> <td bgcolor="#FFFFFF"><?php echo $row['id']; ?></td> <td bgcolor="#FFFFFF"><?php echo $row['title']; ?></td> <td bgcolor="#FFFFFF"><?php echo $row['description']; ?></td> <td bgcolor="#FFFFFF"><?php echo $row['doc_link']; ?></td> </tr> <?php } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete Files"></td> </tr> </table> </form> </td> </tr> </table> </code>
Back end
<code>$delete = $_POST['checkbox']; //Then do what you want with the selected items:// foreach ($delete as $id) { $query="DELETE FROM documents WHERE id = '".$id."'"; $result= mysqli_query($con, $query) or die("Invalid query"); } //Show that the items have been successfully removed.// if (mysqli_affected_rows($con) > 0) { echo '<p>The selected items have been successfully deleted.</p>'; } else { echo '<p>An error has occurred while processing your request</p>'; } ?> </code>
Como nota, uma vez que isto esteja funcionando, eu estarei usando a função unlink para excluir o arquivo no servidor usando a parte doc_link da tabela no front end. obrigado