So löschen Sie Zeilen mithilfe von Kontrollkästchen in PHP und MySQL
P粉982009874
2023-09-01 22:02:23
<p>Ich habe eine Tabelle mit den Datenbankinformationen erstellt und versucht, Kontrollkästchen zu erstellen, um Zeilen einfacher löschen zu können, aber etwas funktioniert nicht. </p>
<p>Ich habe eine Schaltfläche mit einem Formular: </p>
<pre class="brush:php;toolbar:false;"><form action="delete-register.php"
<button type="button" class="btn btn-primary"><span class="fe fe-file-plus fe-12 mr-2"></span>Neu</ Schaltfläche>
<button type="submit" name="delete" class="btn btn-secondary"><span class="fe fe-trash fe-12 mr-2"</span> ;Löschen</button>
</form></pre>
<p>Ich habe Zeilen mit Kontrollkästchen: </p>
<pre class="brush:php;toolbar:false;"><form action="delete-register.php"
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id=<?php echo $row['id'] ?>" value="<?php echo $row['id'];
<label class="custom-control-label" for=<?php echo $row['id'] ?>"></label>
</div>
</td>
</form></pre>
<p>Auch delete-register.php: </p>
<pre class="brush:php;toolbar:false;">if (isset($_POST['delete'])) {
if (isset($_POST['selected'])) {
foreach ($_POST['selected'] as $id) {
$query = "DELETE FROM registers WHERE id = $id";
mysqli_query($conn, $query);
}
header('Standort: registers.php');
Ausfahrt;
}
}</pre>
<p>Das Problem besteht darin, dass „selected“ immer leer ist, sodass nichts aus der Datenbank gelöscht wird.
Wie kann ich dieses Problem lösen? </p>
Please note that the data submitted will be within the scope of
<form>....</form>
由于您有两个表单,当您点击第一个表单中的提交按钮时,它不会将第二个表单的数据发送到服务器。
因此,请将第二种形式更改为:
[补充说明]
如果您想坚持使用第一种形式来触发删除操作,那么请:
id=form2
in the 2nd form so as to facilitate triggering of the submission by form1这是修改后的代码: