Как удалить несколько записей данных, используя флажки в PHP?

Хорошо, я знаю, что этот вопрос задавался ранее, и мы получили много разных ответов … Однако мы все еще не можем сделать это правильно.

Это выше в коде, где отображаются потоки. Он также вложен в эхо, отображающее таблицу. За исключением того, что отмечено комментариями, все остальные не находятся рядом с кодом, как они показаны. Я хотел, чтобы код выделил правильный путь.

 <?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 ?>

Целью этого кода является получение номера идентификатора потока из флажков и запуск его через функцию удаления при нажатии кнопки. Предоставление сотрудникам возможности удалять несколько тем в форуме одновременно.

Этот код работает только для удаления одного потока и является тем, на чем мы основываем функцию мульти удаления потока. Он находится в другом файле «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
?>

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)");
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector