如何获得删除按钮以从数据库中删除数据?

时间:2020-01-15 17:10:23

标签: javascript php jquery html sql

我有一个删除按钮,单击该按钮会提示用户进行确认。它建议它正在工作,但是当我检查数据库时,数据仍然存在。 如何获得删除按钮以从数据库中删除数据?

<?php
// build query
$sql= "SELECT blogID, title, made_by, description FROM blogs";

// execute query
$res=$mysqli->query($sql);

// get multiple results
while($row = $res->fetch_assoc()){

$blogID=$row['blogID'];
$title=$row['title'];
$made_by=$row['made_by'];
$description=$row['description'];
?>

<form action = "post_action.php" method="POST">

<div style="text-align:left">
<div class="row">
  <div class="leftcolumn">
    <div class="card">
     <td><?php print($title);?></td><br>
    <td> <?php print($description);?> </td> <br>
    <td><?php print($made_by);?> </td><br>

<?//Create edit, comment and delete buttons for each blog?>

    <button onclick="window.location.href = 'edit_blog.php';">Edit Blog </button>

    <input type = "hidden" name="blogID" value= "<?php print($blogID);?>" >

    <input type="submit" name="action" value="Insert Comment"/>

    <input type="submit" onclick="deleteme(<?php echo $row['blogID']; ?>);" name="action" value="Remove Blog"/>

    <? //Javascript code?>
 <script language="javascript"> //inserts javascript code
 function deleteme(delid)
 {
 if(confirm("You're about to delete this blog. Click OK to continue or click cancel.")){ //opens an alert window asking the user if they're they want ot remove the blog
 window.location.href='post_action.php?del_id=' +delid+''; //If they click OK then it'll run the delete function on post_action.php
 return true;
 }
 } 
 </script> <?//ends javascript code ?>

</form> 
    </div>

这是post_action.php

<?php
include("_config.php");

debug($_POST);
if($_POST['action'] == "Remove Blog"){
$query = "DELETE FROM blogs WHERE blogID={$_POST['blogID']} LIMIT 1";

header ("Location: blog_test.php");
} 
?>

2 个答案:

答案 0 :(得分:0)

因为您没有执行删除操作。执行删除查询以将数据删除到数据库中。

$mysqli -> query($query)

答案 1 :(得分:-1)

问题出在$_POST['blogID']

您正在重定向用户并在查询字符串中传递博客ID,因此它应为$_GET。而且密钥是del_id而不是blogID

所以在post_action.php中,做

<?php
include("_config.php");

debug($_POST);
if($_POST['action'] == "Remove Blog"){
$query = "DELETE FROM blogs WHERE blogID={$_GET['del_id']} LIMIT 1";

header ("Location: blog_test.php");
} 
?>

PS:我真的很担心您是否应该以这种方式删除某些内容。