0

我必须首先提到我已经搜索了 Google 和 stackoverflow 以及其他任何地方,并尝试使用论坛中提供的脚本并编写自己的脚本,但对我没有任何帮助。我完全被困住了。

所以,我要做的就是编写一个脚本,从 MySQL 表中删除检查的行。这是我在 PHP 文件中编写的 HTML:

<tr class="noP">
  <td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="'.$row["PID"].'"/></td>
  <td class="id">'.$row['PID'].'</th>
  <td>'.$row["name"].'</th>
  <td>'.$row["surname"].'</th>
  <td>'.$row["pcode"].'</th>
  <td class="address">'.$row["address"].'</th>
  <td class="email">'.$row["email"].'</th>
  <td>'.$row["phone"].'</th>
  <td class="education">'.$row["education"].'</th>
  <td class="remarks">'.$row["remarks"].'</th>
</tr>

在这里$row = mysql_fetch_assoc($qParts);,所以这个数组只是 MySQL DB 中字段值的收集器。

基本上,我所要做的只是一个表格,列出所有参与者,并能够删除选定的参与者。

我将非常感谢提供的任何帮助。谢谢!

4

2 回答 2

2

这应该可以帮助您:

foreach($_REQUEST['checkbox'] as $val)
    $delIds = intval($val);

$delSql = implode($delIds, ",");

mysql_query("DELETE FROM table WHERE PID IN ($delSql)");

因此,这会从$_GET/获取您的输入数组$_POST,对其进行消毒(稍微),然后将其内爆以获取 ID 列表(例如 5、7、9、13)。然后它将其输入 SQL 语句,使用IN运算符匹配这些 ID。

请注意,您应该使用准备好的语句或类似语句来执行此操作。虽然已经有一段时间了,所以我不能随便写它们,但这应该给你它的要点。

要使用 PDO 执行此操作,请查看此处。它有点复杂,因为您需要动态创建占位符,但它应该同样工作。

参考 - 有关 PDO 的常见问题

于 2013-09-16T22:26:45.963 回答
2

我想我可以帮你。我在学期项目中遇到了同样的问题。这个问题可以单独使用 HTML 和 PHP 来解决。

我假设 PID 是您表中的主键。这里的技巧是将整个表格放在一个表格中,使其看起来像这样:

      <form action="/*NAME OF THIS PAGE HERE*/.php" method="POST">

                       <?php

     if(isset($_POST['delete']))   //THE NAME OF THE BUTTON IS delete. 
    {
       foreach ($_POST["checkbox"] as $id){
       $de1 = "DELETE FROM //table-name WHERE PID='$id'";
       if(mysqli_query($conn, $de1))
       echo "<b>Deletion Successful. </b>";
       else
       echo "ERROR: Could not execute";
       }
    }
        if(isset($_POST['delete'])){
            echo"<b>Please make a selection to complete this operation.</b>";
        }

    ?>
    </br>


<!-- below you will see that I had placed an image as the delete button and stated its styles -->

                              <button type="submit" name="delete" value="delete" style="float:right;border:none; background:none;">
                              <img style="width:55px; height:55px;margin-left:10px; margin-bottom:6px; float:left;" src="images/del.png">
                              </button>


                                    <table>
                                <thead>
                                    <tr>
                                        <th>#</th>
                                        <th>PID</th>
                                        <th>NAME</th>
                                        <th>SURNAME</th>
                                        <!--REST OF THE TABLE HEADINGS HERE -->
                                    </tr>
                                    <?php $fqn="SELECT * FROM //table-name here;
                                    $fqn_run=mysqli_query($conn,$fqn);
                                    while($row=mysqli_fetch_array($fqn_run)):?>
                                </thead>
                                <tbody>
                                    <tr class="noP">
  <td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="<?php echo $row["PID"];?>"></td>
  <td><?php echo $row['PID'];?></td>
  <td><?php echo $row["name"];?></td>
  <td><?php echo $row["surname"];?></td>
  <!-- REST OF THE ROWS HERE -->
</tr><?php endwhile;?>
                                </tbody>
                            </table>
    </div>
    </div>      

    </form>

希望这可以帮助你。

于 2017-04-22T15:35:13.977 回答