Как удалить проверенную строку из БД

У меня есть это удаление sql, но я не могу понять, почему это не работает: /

После попытки удалить отмеченную строку if ($ result) действительно перезагружает страницу, но строка все еще там …: /

Может кто-нибудь, пожалуйста, помогите мне?
Что мне не хватает?

<form name="delete_posts" method="post" action="">
<table class="all_posts">
<tr>
<td class="checkbox"><input type="checkbox" name="select_all" id="select_all" /></td>
<td class="post_title">Title</td>
<td>Auther</td>
<td>Posted</td>
<td>Updated</td>
<td>Category</td>

</tr>
<tr><td class="delete_posts" colspan="6"><input name="delete" type="submit"id="delete" value="delete"></td></tr>

<?php

$post_set = get_all_posts();
while ($row = mysqli_fetch_array($post_set)){

echo "<tr>
<td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=".$row['id']."></td>
<td><a href=\"edit_post.php?edit=".$row['id']."\">" .$row['title']. "</td>
<td>Auther</td>
<td>".date("d. M. 'y", strtotime($row["date"]))."</td>
<td>Update Date</td>
<td>".str_replace("_"," ",$row['category'])."</td>
</tr>";}// Delete Posts

if(isset($_POST['delete'])){
$checkbox = $_POST['delete'];
$count = count($checkbox);
for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql = "DELETE FROM posts WHERE id = $del_id ";
$result = mysqli_query($connection, $sql);
}
// if successful redirect to delete_multiple.php
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=posts.php\">";
}
}
?>

</table>
</form>

Спасибо за помощь

ура
Крис

0

Решение

Я думаю, что у вас есть ошибка в вашем коде, когда вы извлекаете проверенную строку: вместо получения значений флажка ($checkbox = $_POST['checkbox'];) вы получаете значение удаления ($checkbox = $_POST['delete'];).

Вот исправленная часть:

if(isset($_POST['delete'])){
$checkbox = $_POST['checkbox'];
$count = count($checkbox);
for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql = "DELETE FROM posts WHERE id = $del_id ";
$result = mysqli_query($connection, $sql);
}
0

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

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

По вопросам рекламы [email protected]