php - 如何删除包含多个帖子的页面中的帖子? [MySql]

标签 php html mysql sql forum

我想进行一个查询,从页面中删除帖子(线程),但在该页面中我有多个帖子,我的数据库中有一个名为 id_thread 的字段,它是每个帖子的唯一 ID,但我列出了多个帖子页面中同一用户的帖子,这是列出帖子的页面的代码:

<?
session_start();

  if(isset($_SESSION['id']))
  {
    $servername = "(...)";
    $username = "(...)";
    $password = "(...)";
    $dbname = "(...)";

    $connect  = mysqli_connect($servername, $username, $password, $dbname);

    if (!$connect) {
        die("Connection failed: " . mysqli_connect_error());
    }

}
else
{
  header(" url=index.php");
}

?>


(... hidded non relative html code ....)


<?
      $id = (isset($_GET['id'])) ? $_GET['id'] : $_SESSION['id'];

        $query = mysqli_query($connect,"SELECT * FROM thread inner join category on thread.id_type=category.id_type WHERE username = '".$id."'");

      echo '<div class="container marg-t-100">'."All posts from User: ".$id.'</div>';
      echo '<div class="container-fluid marg-t-25">';
      while($row = mysqli_fetch_array($query))
      {
      echo '<div class="col-md-1"></div>';
      echo '<div class="col-md-11">';
      echo '<form role="form" action="delete.php" method="post"><a type="submit" class="btn btn-danger marg-t-10 pull-right">Delete Thread</a></form>';
      echo  $row['title'] ."<br><br>".$row['content']."<br><br>".'<div class="pull-right">'. "date: ".$row['data']."<br>"."author: ".$row['username']."<br>".$row['name'].'</div>' ."<br><br><br><hr><br>";
      echo '</div>';
      }
      echo '</div>';
      mysqli_close($connect);
?>
  (...)

这是我正在谈论的页面的图像:

enter image description here

我希望当我单击“删除线程”时,相应的帖子(线程)将从数据库中删除。

如果您在上面的页面代码中看到,您可以看到删除按钮在delete.php 上执行操作,这是我在该文件上的代码:

<?php
session_start();

  if(isset($_SESSION['id']))
  {
    $servername = "(...)";
    $username = "(...)";
    $password = "(...)";
    $dbname = "(...)";

    $connect  = mysqli_connect($servername, $username, $password, $dbname);

    $id = (isset($_GET['id'])) ? $_GET['id'] : $_SESSION['id'];

      $query = mysqli_query($connect,"Delete FROM thread WHERE username = '".$id."' and id_thread ='".(I WANT THE RELATIVE ID HERE)."'");


    if (!$connect) {
        die("Connection failed: " . mysqli_connect_error());
    }

}
else
{
  header(" url=index.php");
}


 ?>

最佳答案

在列出用户帖子的页面中,在表单内添加一个隐藏字段,其中包含帖子 ID 值和 名称 属性,稍后您将在 POST变量。

echo '<form role="form" action="delete.php" method="post"><button type="submit" class="btn btn-danger marg-t-10 pull-right" value="Delete Thread"><input type="hidden" name="thread_id" value="'.$row['id'].'"></form>';

delete.php查询部分:

$query = mysqli_query($connect,"Delete FROM thread WHERE username = '".$id."' and id_thread ='.$_POST['thread_id']);

关于php - 如何删除包含多个帖子的页面中的帖子? [MySql],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171852/

相关文章:

javascript - 如何在加载后运行 AJAX 加载的页面脚本

php - 关于传递给查询的变量的问题

javascript - 未在下拉菜单中选择元素

javascript - mysql datetime 数据到 html5 datetime-local 字段使用 javascript 和 PHP

html - 无法在 jsp 中获取准确的用户详细信息

php - 使用 haversine 公式的 MySQL 地理空间搜索在同一点返回 null

php - 使用左右 id 的 PHP 树库

javascript - 基于 c3.js 中值的条形图颜色

mysql 工作台 - 错误代码 : 1267 inside a function

javascript - 获取特定行的属性值?