如何使用PHP中的复选框删除多个数据条目?

时间:2017-08-15 06:08:03

标签: php html

好的我知道之前已经问过这个问题,我们已经遇到了很多不同的答案......但是我们仍然无法正常工作。

这在显示线程的代码中更高。它也嵌套在显示表的echo中。除了以注释标记的内容之外,所有其他内容都不会像显示的那样位于代码旁边。我希望代码突出正确的方法。

 <?php //More code here~

while ($x = $s->fetch_object()){

$c = $c==1?2:1;

echo '<tr>
<td style="border: 1px solid #1f2a19; padding-left: 5px; padding-right: 5px; " class="color1" width="1%" nowrap>
<input type="checkbox" class="check" name="check[]" value="'.($x->id).'" /></td> 
//More displaying table code here.
';

}$s->close(); ?>

在页面末尾出现按钮的位置附近的代码中向下缩小。

<?php
if (u::isstaff())  {
?> <!--This is here because the file is an .php and most of the code is php. 
   Very little HTML is used.-->

    <input type="submit" name="delete" value="Delete"/>


<?php // Same with this one. It is in the code.
if(isset($_POST['delete']))
{
 $cnt=array();
$cnt=count($_POST['check']);
 for($i=0;$i<$cnt;$i++)
  {
     $del_id=$_POST['check'][$i];
     $query=("delete from forumposts where 'thread'='$del_id'");
    mysql_query($query);
    $query=("delete from forumthreads where 'id'='$del_id'");

    mysql_query($query);
  } //for
} //ispost delete
} //isstaff ?>

此代码的目标是从复选框中获取线程ID号,并在按下按钮时通过删除功能运行它。赋予工作人员一次删除董事会中多线程的权力。

此代码仅用于删除单个线程,并且是我们基于多删除线程函数的基础。它位于不同的文件“thread.php”

 <?php if ($_GET['act'] == 'deletethread'){

    if (!u::ismod()) return f::deny();

    $db->query("DELETE FROM forumposts
        WHERE `thread`='{$thread->id}'");

    if ($db->error) die(trigger_error($db->error) );

    $db->query("DELETE FROM forumthreads
        WHERE `id`='{$thread->id}'");

    if ($db->error) die(trigger_error($db->error) );

    s::go('board?i='.$thread->board);
  }?>

=============================================== =========

所以我觉得我在按钮上失败了......以前没学过Java。这就是中间部分现在的样子。我觉得我仍然在删除错误部分。

<input type="submit" name="delete" value="Delete"/>

<?php 
if(isset($_POST['check_list'])){
 $cnt=array();
$cnt=count($_POST['check_list']);
 for($i=0;$i<$cnt;$i++)
  {
    $ids = implode(',', $_POST['check_list']); 
    mysqli_query("delete from forumposts where id in ($ids)");
    mysqli_query($query);
    mysqli_query("delete from forumthreads where id in ($ids)");
    mysqli_query($query);
  } //for
} //ispost delete
} //isstaff
?>

1 个答案:

答案 0 :(得分:0)

echo '<tr>
        <td style="border: 1px solid #1f2a19; padding-left: 5px; padding-right: 5px; " class="color1" width="1%" nowrap>
           <input type="checkbox" class="check" name="check[]" value="'.($x->id).'" />
        </td> 

在PHP文件中:

$ids = implode(',', $_POST['check']); 
mysqli_query("delete from forumposts where id in ($ids)");