我正在讓一個系統在一個表格中顯示系統中的頁面,而其中一個列是操作列給予人們刪除頁面的選項。我這樣做:PHP表單當在表格中顯示時刪除mySQLi中的記錄然後在表格中
listpages.php
<?php
$sql = "SELECT * FROM Pages";
$result = $conn->query($sql);
if ($result) {
while($row = $result->fetch_assoc()) {
$pages[] = array_map('htmlspecialchars', $row);
}
}
// PHP is finished now, here's the HTML
?>
<form method="post" action="utils/delpage.php">
<table>
<thead>
<tr>
<th>Page Name</th>
<th>Page Type</th>
<th>Registered on</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($pages as $page):?>
<tr>
<input type="hidden" name="targetid" value="<?= $page['id'] ?>"></input>
<td><?= $page['pagename'] ?></td>
<td><?= $page['pagetype'] ?></td>
<td><?= $page['regdate'] ?></td>
<td><input type="submit" value="delete" class="red-text material-icons tooltipped" data-tooltip="Delete"><td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</form>
delpage.php
<?php
include ('../../php/db.php');
$id = $_POST['targetid'];
$target = htmlentities($id);
$stmt = $conn->prepare("DELETE FROM Pages WHERE id = (?)");
$stmt->bind_param("i", $page);
$page = $target;
$stmt->execute();
?>
這部分的工作:我得到的垃圾桶圖標我設置爲刪除記錄。問題是,當我點擊它時,它總是刪除最後一條記錄,而不是它被刪除的記錄。這是一個問題,而不是它真的應該如何工作。我不明白爲什麼它會這樣做,因爲ID正在以與其他信息相同的方式「顯示」。我搜索了一個答案,但沒有任何工作,我沒有看到許多選擇,但創建一個問題。任何幫助?
在此先感謝
剛剛看過的代碼@ user2860957 – MucaP