【问题标题】:Checkboxes and Delete from Database in PHP While LoopPHP While循环中的复选框和从数据库中删除
【发布时间】:2013-07-15 02:14:05
【问题描述】:

我试图允许用户通过单击相应行的删除按钮来删除这些行中的任何一行。不幸的是,当他们单击删除时,它会删除所有行。我究竟做错了什么?这是表格的样子:

  • $metakey | $元值 |删除按钮

    $metakey | $元值 |删除按钮

    $metakey | $元值 |删除按钮

<?php while($row=mysql_fetch_array($followerresult)){ $meta_key=$row["meta_key"]; $meta_value=$row["meta_value"];

echo "<table><tr> 
    <td>$meta_key</td> 
    <td>$meta_value</td> 
    <td><form ID='deleteform' method='POST'>
    <div id='mySubmit'>
    <input type='submit' name='Delete' value='Delete'>

    </form></td> 
</tr>"; 

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

                //SQL Delete

               echo $wp_login . " has been removed from access permissions";

}

回声“”;

    ?>

【问题讨论】:

  • 执行删除操作的代码在哪里?
  • SQL删除命令在哪里?这就是问题所在
  • @Vector 我不认为这就是问题
  • 感谢大家的帮助。这是 SQL 删除功能,这是一个 wordpress 网站仅供参考。听到这可能是问题所在,我很惊讶,不会猜到。 $wpdb->query("DELETE FROM wp_usermeta WHERE meta_value = '$meta_value' AND user_id = '$meta_key'");

标签: php html loops while-loop


【解决方案1】:

$meta_key$meta_value 不是表单的一部分。您需要将它们作为表单中的输入字段,然后在 POST 请求中使用它们的值。与其循环并创建表格,不如循环并创建具有正确输入等的完整功能表单。

【讨论】:

    【解决方案2】:

    您需要在 HTML 表单中添加隐藏字段。

    <input type='hidden' name='meta_key' value='$meta_key' />
    

    而且,您必须在 SQL DELETE 语句中添加 WHERE 子句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多