我有一个显示所有表条目的HTML表。表中还有一个每个SQL条目旁边的删除按钮。
我希望能够删除用户选择的条目。我已将表单发布到Post PHP_Self
,并且我从while循环中传入索引$i
作为参考:
$i = 0;
while($row = mysqli_fetch_array($result)){
?>
<tr>
<td>
<? echo $row['uniqueIdentifier']; ?>
</td>
<td>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type='hidden' name='remove_entrie_ID' value='<? echo $i; ?>' />
<input type='submit' value='Delete' name='remove_entrie'>
</form>
</td>
</tr>
<?
$i++;
}
所以这是传递给自己的,我现在想做一个DELETE WHERE 'INDEX OF TABLE' == $i
,输入东西?我甚至不知道这是否可能。
if(isset($_POST['remove_entrie'])){
$index = $_POST['remove_entrie_ID']
echo "Index: " . $index;
//mysqli_query($con, "DELETE FROM Users WHERE INDEX = '$index'");
}
我基本上使用$ i来选择表的加载方式,然后使用它来选择我要删除的行。但我觉得这不可能做到?
我基本上想要删除用户从表中选择的行。
答案 0 :(得分:0)
您不需要$ i变量。只需在列表中进行简单修改即可:
while($row = mysqli_fetch_array($result)){
?>
<tr>
<td>
<? echo $row['uniqueIdentifier']; ?>
</td>
<td>
<form action="" method="post">
<input type="hidden" name="remove_entrie_ID" value="<? echo $row['uniqueIdentifier']; ?>" />
<input type="submit" value="Delete" name="remove_entrie">
</form>
</td>
</tr>
<?
}
在post变量中转义特殊字符等以避免sql注入也是个好主意。