gpt4 book ai didi

javascript - 我想使用 ajax 和 PHP 获取每个帖子数据的喜欢总数

转载 作者:行者123 更新时间:2023-11-30 00:11:39 25 4
gpt4 key购买 nike

我想使用 ajax 和 PHP 获取每个帖子的总点赞数。

这是我的ajax.php 文件

<?php
include_once "../config.php";

$user_id=$_POST["user_id"];
$sale_phone_id=$_POST["sale_phone_id"];

$query2=mysqli_query($conn,"SELECT count(id) as total_likes FROM likes where status='1' AND sale_phones_id='$sale_phone_id'");

$row=mysqli_fetch_assoc($query2);
echo $row["total_likes"];
?>

这是我的JS

<script type="text/javascript">
$(document).ready(function(){

var user_id=1;
var sale_phone_id=document.getElementById('demo_demo').getAttribute('data-value');
//var message=$("#message").val();

$.ajax({
type:"post",
url:"ajax.php",
data:"user_id="+user_id+"&sale_phone_id="+sale_phone_id,
success:function(data){

$("#thumbs_up").html(data);
}

});
});
</script>

上面提到的代码只返回第一篇文章的数据。我想显示所有帖子的点赞数。

最佳答案

您只获得了 1 条记录,因为您只发送了 1 个 sale_phone_id,并且您的代码在特定情况下非常有用,您需要找出特定帖子的点赞数。

根据我对你问题的理解,你需要统计每个销售电话的点赞数。所以必须加入你的查询(假设 sales_phone 作为您的其他表名);下面给出的查询可以满足您的要求

SELECT *, count(t2.id) as total_likes
FROM sale_phones t1 LEFT JOIN likes t2
ON t2.sale_phones_id=sale_phones_id
WHERE status='1' AND sale_phones_id='$sale_phone_id'

这样您将获得所有 sales_phones 以及他们的点赞数。

现在,一旦您获得 JSON 格式的结果(作为对您的 ajax 调用的响应),jquery 逻辑就是另一个问题。那么它可以通过多种方式实现。最简单的方法是使用带有前缀的 id 属性。在遍历 sale_phones 并创建帖子的地方,您可以为每个帖子分配一个数据 id,例如

<?php foreach($sale_phones as $sp): ?>
<div id="sp_<?php echo $sp->id; ?>" >
<?php echo $sp->phone_name;?>
<span class="likes"></span>
</div>
<?php endforeach; ?>

在你的 jquery ajax 请求函数中

$.ajax({
type:"post",
url:"ajax.php",
success:function(data){
// assuming that your data is returning in JSON format
var response = JSON.parse(data);
$('#sp_'+response.sales_phone_id).children('.likes').text(response.total_likes);
}
});

这只是实现您需要的粗略草图。让我知道是否可以进一步提供帮助。

顺便说一句,永远不要从客户端发送 user_id,这是非常不安全的。用户可以通过检查元素或其他方式更改 ID,并将能够看到任何用户的记录作为响应。解决方案是将 user_id 保留在 session 中,并在您的 PHP 代码中需要时从那里获取它,而不是从客户端发送它。

关于javascript - 我想使用 ajax 和 PHP 获取每个帖子数据的喜欢总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36251317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com