使用复选框可以检查要删除的列


Use checkboxes to check which column that are to be deleted

我正在制作一个面板,您可以在其中添加API。现在的问题是,我需要让用户能够删除某些列,同时更新一个列。

$use = $mysqli->query("SELECT * FROM api");
//Panel
echo '
<!---Buttons-->
<a href=''?addnew''>Add new</a> <a href=''?update''>Update</a> <a href=''?delete''>Delete all selected columns</a>
<!---Table-->
<form method=''POST'' action=''?''>
<table border="1">
<tr>
<!---Main Columns-->
<td></td>
<td>ID:</td>
<td>Name:</td>
<td>URL:</td>
<td>Format:
</tr>';
while($us = $use->fetch_array()){
    //print all API's
    echo'
    <tr>
    <!---All values to be echoed, ID is the only one who can''t be updated from the panel-->
    <td><input type="checkbox" name="checkbox'.$us['id'].'"></td>
    <td>'.$us['id'].'</td>
    <td><input type=''text'' name="name'.$us['id'].'" value='''.$us['name'].'''></td>
    <td><input type=''text''  name="url'.$us['id'].'" value='''.$us['url'].'''></td>
    <td><input type=''text''  name="format'.$us['id'].'" value='''.$us['format'].'''></td>
    </tr>';
}   
echo'</table></form>';

这是我迄今为止所做的一些。这基本上是为了面板本身。

这是我用来更新和删除的

if (isset($update)) {
    while($us = $use->fetch_array()){
        if ($mysqli->query("UPDATE api SET name='".$_POST['name'.$us['id']]."', url='".$_POST['url'.$us['id']]."', format='".$_POST['format'.$us['id']]."'") == TRUE) {
            echo 'Updated';
            echo '<meta http-equiv="refresh" content="10; URL=api%20(2).php">';
        }
    }
}
if (isset($delete)) {
    while($us = $use->fetch_array()){
        if (isset($_POST['checkbox'.$us[id]])) {
            if ($mysqli->query("DELETE FROM api WHERE id = '".$us['id']."'") == TRUE) {
                echo 'Success';
                echo '<meta http-equiv="refresh" content="2; URL=api%20(2).php">';
            }
        }
    }
}

我也在考虑在其中实现一些ajax,所以如果你愿意,你也可以帮助我:)

问题是,由于某种原因,它无法检索POST,但我不知道为什么。如果你们中的一个人能为我提供一个当前代码的解决方案,或者找到一个更好的替代方案,那就太好了。感谢

替换

    <a href=''?addnew''>Add new</a> <a href=''?update''>Update</a> <a href=''?delete''>Delete all selected columns</a>
    <!---Table-->
    <form method=''POST'' action=''?'' id="">

带有

    <a href=''?addnew''>Add new</a> <a href=''javascript:void(0)'' onclick=''document.getElementById("frm").value(''update'');document.getElementById("frm").submit()''>Update</a> <a href=''javascript:void(0)'' onclick=''document.getElementById("frm").value(''delete'');document.getElementById("frm").submit()''>Delete all selected columns</a>
    <!---Table-->
    <form method=''POST'' action=''?'' id="frm">
    <input type="hidden" name="action" id="action" value="">

更换

    <td><input type="checkbox" name="checkbox'.$us['id'].'"></td>

带有

    <td><input type="checkbox" name="chk[]" value="'.$us['id'].'"></td>

更换

    if (isset($update)) {
        while($us = $use->fetch_array()){
            if ($mysqli->query("UPDATE api SET name='".$_POST['name'.$us['id']]."', url='".$_POST['url'.$us['id']]."', format='".$_POST['format'.$us['id']]."'") == TRUE) {
                echo 'Updated';
                echo '<meta http-equiv="refresh" content="10; URL=api%20(2).php">';
            }
        }
    }

带有

    if (isset($_POST['action']) && $_POST['action'] == 'update']) && $_POST['chk']) {
        foreach($_POST['chk'] as $id){
            if ($mysqli->query("UPDATE api SET name='".$_POST['name'.$id]."', url='".$_POST['url'.$id]."', format='".$_POST['format'.$id]."'") == TRUE) {
                echo 'Updated';
            }
        }
        header('Location: api (2).php');
    }

并对删除执行相同的操作