簡體   English   中英

每個帖子的評論

[英]Comments for every post

我創建了一個包含帖子或游戲“交易”的數據庫。 就像Reddit一樣,這是一個人們可以在其中發布報價的論壇。 我希望用戶能夠在每個帖子上都進行回復(例如,還價或僅發表評論)。 在我的數據庫中,我有一個包含所有帖子的表格,以及一個包含回復/評論的表格。 在評論部分,我有一列名為“ post_id”,因此您可以看到與什么帖子相關的評論,也可以回顯這些評論。 但是,我不知道如何使用PHP函數來“調用”該特定帖子的ID。 以下是我的代碼,有人可以幫忙嗎? 這是帖子的代碼:(trades.php)

    <?php
session_start();
?>

<?php
include ("databaseconnectie.php");
$query = $db->prepare("SELECT * FROM posts WHERE id = " . $_GET['id']);
$query->execute();
$result = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($result as &$data) {
echo "Title: " . $data['title'] . "<br>";
echo "Submitted by: " . $data['usern'] . "<br>";
echo "Date: " . $data['datum'] . "<br>";
echo "Message: " . $data['content'] . "<br><br>";
}
?>

<a href="trades.php">Back to the trades</a><hr>

<form method="post" action="">
<textarea type="text" name="comment" cols="50" rows="8" maxlength="200" placeholder="Enter a comment"></textarea>
<br>
<input type="submit" name="send" value="Send"> 
</form> <hr>

<?php
date_default_timezone_set('America/Curacao');
include ("databaseconnectie.php");
$a = $_SERVER['PHP_SELF'];
$pee = explode("=", $a);

if(isset($_POST['send'])) {
if(empty($_POST['comment'])) {
echo "No comment <br><br>";
} else {
if(isset($_SESSION['on'])) {
    $usern = $_SESSION['on'];
    $datum = date('YmdHis');
    $content = $_POST['comment'];
    $add = $db->prepare("INSERT INTO replies(content,usern,datum,post_id) 
VALUES(:content, :usern, :datum, :post_id)");
        $add->bindParam("usern", $usern);
        $add->bindParam("content", $content);
        $add->bindParam("datum", $datum);
        $add->bindParam("post_id", $pee['1']);
        $add->execute();
        } else {
header("Location: signin.php");
}
}
}


     $show = $db->prepare("SELECT * FROM replies WHERE id=:id ORDER BY datum 
DESC");
     $show->bindParam("id", $pee['1']);
     $show->execute();
     while($result = $show->fetch(PDO::FETCH_ASSOC)){
echo '<p><b>' . $result['usern'] . '</b>' . " " . '<i>' . $result['datum'] . 
'</i></p>';
echo '<p>' . $result['content'] . '</b>';
echo "<hr>";
}
?>

您可以使用與獲取帖子相同的方法。

$query = $db->prepare("SELECT * FROM replies WHERE post_id = " . $_GET['id']);

編輯

如果要在特定帖子中插入新評論,則可以在代碼中修改以下幾行。

$add = $db->prepare("INSERT INTO replies(content,usern,datum,post_id) VALUES(:content, :usern, :datum, :post_id)");
$add->bindParam("usern", $usern);
$add->bindParam("content", $content);
$add->bindParam("datum", $datum);
$add->bindParam("post_id", $_GET['id']);    // This line is different

我不太了解您原始代碼中的$pee['1']是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM