使用PHP从MySQL数据库中删除复选框值

时间:2017-09-24 11:39:05

标签: php mysql

所以,这里有一个显示MySQL数据库中数据的表。我在第一行附加了复选框,用于选择要删除的名称,这些名称是唯一的。如何使用数组或PHP中的任何其他方式从数据库中删除表单中的已检查数据。

这是我的代码,

我的PHP脚本显示数据,

It = db.Interns.FirstOrDefault(x => x.ID == ItObj.ID);

我的PHP脚本删除数据,

            <form method='POST' action='../../panel/delete_others.php'>
          <table id='example1' class='table table-bordered table-hover'>
            <thead>
            <tr>
              <th>Mark User </th>
              <th>User name</th>
              <th>User Password</th>
              <th>User Type</th>
              <th>User Status</th>
            </tr>
            </thead>
            <tbody>";
            while($row = mysqli_fetch_array($result2)){
           echo "<tr>
              <td> <input type='checkbox' name='others_delete[]' value='".$row['USER_NAME']."'/></td>
              <td>".$row['USER_NAME']."</td>
              <td>".$row['USER_PASSWORD'].
              "</td>
              <td>".$row['USER_type']."</td>
              <td>".$row['USER_STATUS']."</td>
            </tr>";
            }
            echo "</tbody>
          </table>
          </form>

&GT;

所以,我写的代码似乎没错,但每当我点击提交按钮时,我都会得到空白页。

2 个答案:

答案 0 :(得分:0)

您收到空白页面,因为以下任何一行代码都返回false

if(!empty($_POST['others_delete'])){

if(isset($_POST['submit'])){

答案 1 :(得分:0)

您检查if(isset($_POST['submit']))但是您的信息不包含具有该名称的输入元素,因此您的$_POST变量不应该包含该密钥,导致您的部分被跳过。

您可以在php文件的末尾或开头调用var_dump($_POST);进行检查。

如您的问题评论中所述:您使用的是mysqli。您应该考虑使用预准备语句。它们在单次使用(个人观察)上更快,如果在您的情况下重复使用会更快。另一个优点:它们可以对抗sql注入!