我有一个从我的sql数据库输出数据的网页。每一行都有一个删除按钮,应该删除这个特定行中的数据。我遇到了一个问题,当我单击删除按钮时,无论点击哪个按钮,它都会删除具有第一个/最低ID的行。它不删除我想要删除的行。这里是我的代码: HTML从表中删除行的按钮 - PHP SQL
<form action="process.php" method="post">
<?php
$sql = "
SELECT *
FROM playerTeam
";
$result = mysqli_query($connection, $sql);
?>
<table>
<?php
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) { ?>
<tr>
<td><input type="text" name="id" value="<?php echo $row['id']?>"></td>
<td><input type="text" name="fName[]" value="<?php echo $row['firstName']?>"></td>
<td><input type="text" name="sName[]" value="<?php echo $row['surName']?>"></td>
<td><input type="text" name="team[]" value="<?php echo $row['team']?>"></td>
<td><input type="submit" name="delete" value="Delete"></td>
<td><input type="submit" name="update" value="Update"></td>
</tr>
<?php
}
}
?>
</table>
</form>
process.php
if (isset($_POST['delete'])) {
$id = $_POST['id'];
$sql = "DELETE FROM playerTeam WHERE id='$id'";
if (mysqli_query($connection, $sql)) {
echo "Record deleted";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($connection);
}
}
请可能有人帮助我。由于
'输入型=“submit”'没有名字,所以'name = delete'被忽略 –
尝试回显'$ id'来仔细检查它是否是你想删除的行 – Panda
@luweiqi当我回显'$ id '它没有输出正确的值,每个按钮总是输出我的第一个ID表。如果我将隐藏的id输入到数组中并对其进行迭代,则会输出所有的id。 – SnowmanPusha