如何使用複選框刪除 php 和 mysql 的行
P粉982009874
2023-09-01 22:02:23
<p>我創建了一個包含資料庫資訊的表,並嘗試建立複選框以便能夠更輕鬆地刪除行,但有些東西無法正常工作。 </p>
<p>我有一個有表單的按鈕:</p>
<pre class="brush:php;toolbar:false;"><form action="delete-register.php" method="post">
<button type="button" class="btn btn-primary"><span class="fe fe-file-plus fe-12 mr-2"></span>New<pan> button>
<button type="submit" name="delete" class="btn btn-secondary"><span class="fe fe-trash fe-12 mr-2&quo;span class="fe fe-trash fe-12 mr-2"> ;Delete</button>
</form></pre>
<p>我有有複選框的行:</p>
<pre class="brush:php;toolbar:false;"><form action="delete-register.php" method="post">
<td>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="<?php echo $row['id']; ?>" name="selected[]" value="<?php echo $row['id']; ?>">
<label class="custom-control-label" for="<?php echo $row['id']; ?>"></label>
</div>
</td>
</form></pre>
<p>還有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('Location: registers.php');
exit;
}
}</pre>
<p>問題是「selected」始終為空,因此不會從資料庫中刪除任何內容。
我該如何解決這個問題? </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這是修改後的程式碼: