从表中删除 - 通过表格

时间:2014-07-02 20:53:27

标签: php sql indexing sql-delete

我有一个显示所有表条目的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来选择表的加载方式,然后使用它来选择我要删除的行。但我觉得这不可能做到?

我基本上想要删除用户从表中选择的行。

1 个答案:

答案 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注入也是个好主意。