【发布时间】:2018-01-28 11:18:16
【问题描述】:
我正在开发一个网页,其中数据库中的多个帖子在单个页面中一一显示,就像 twitter 或 facebook。 我需要将 Ajax 用于 cmets 和 likes。评论系统也应该嵌套。
我遇到的问题是每个帖子都有一个唯一的 post_id,我需要通过 Ajax 传输它以将 cmets 插入数据库。
下面的 HTML 在 PHP for 循环中,用于从数据库中获取帖子。所以我给了 post_id 作为每个评论元素的 id 以获得唯一的帖子评论。
<script>
function addcomment(abc) {
var temp1 = abc;
var post_id = temp1.value; // POST ID
var comment = document.getElementById(post_id).value;
$.ajax({
type: "POST",
url: "addcomment.php",
data: {
post_id:post_id,
comment:comment
},
success: function(response) {
document.getElementsByClassName(post_id).innerHTML = response;
}
});
}
</script>
<div class="comment_section" id="comment_section">
<textarea type="text" id="<?php echo($post_id); ?>" placeholder="comment Here..." value=""></textarea>
<button id="comment_button" value="<?php echo ($post_id); ?>" onclick="return addcomment(this);">Comment</button>
<br>
<span class="<?php echo($post_id); ?>"></span>
</div>
addcomment.php 看起来像这样:
<?php
include("connect.php");
$postid = $_POST['post_id'];
$comment = $_POST['comment'];
$sql1 = "INSERT INTO comments (name,comment) VALUES ('$postid','$comment')";
$result = $db->query($sql1);
$sql = "SELECT * FROM comments ORDER BY id DESC LIMIT 0,1";
$result1 = $db->query($sql);
while($row = $result1->fetch_assoc()) {
$post = $row['name'];
$comment_op = $row['comment'];
?>
<?php echo $comment_op; ?>
<br>
<?php echo $post; ?>
<?php } ?>
如何在点击评论按钮时获取评论并将其存储在数据库中并使用 AJAX 返回评论区域下方的评论?
【问题讨论】:
-
是的,我知道。我会在执行前准备好查询。但我有一个很大的问题,想听听你的意见。
-
你应该把 post_id 放在像
-
那么如果你使用的是mysqli,你可能需要关闭前一个语句,然后再执行下一个
-
@Ezekiel 显示评论?还是从 TextArea 获取?
-
我不太明白您是如何在发布评论之前获得 id 的?
标签: javascript php html ajax