将评分保存到数据库中

4
我正在使用一个jQuery插件来获取我在PHP驱动的网站上发布的每篇文章的评分。
我使用的插件名为Raty,可以在这里找到。
我想知道如何保存这个评分,因为我可以点击星星,然后获得五星评分,但如果我刷新页面,评分就消失了。
所以我应该想办法保存它。
3个回答

3
您可以尝试以下代码来处理点击事件:(示例代码)
$('#click').raty({
    click: function(score, evt) {
          $.ajax({
           type: 'POST',
           url: '/SaveMyRating.php',
           data: {'score':score},
          success: function(data){ alert('Your rating was saved'); }         
         });

    }
}); 

SaveMyRating.php应该是接收提交的分数并保存它的php脚本(文件或数据库等)。


你必须记得从你的数据库、cookie或某种持久化数据中读取这个值,才能使它正常工作。 - Swift

2
您可以在此处使用ajax将最新的评分(整数)以及其他必要的详细信息发送到php页面。然后将评分保存到数据库中。
// rate.php - the php page where you will insert rating.

$('#rate').raty({
    click: function(score) {
    var id = // get the id of the object for which the rating is done
        $.post('rate.php', {score:score,id:id}, function(data) {
         // data is a variable that may or may not be 
             returned from the rate.php page

            });

    }
});

2
首先,您需要在数据库中创建一个表。
当您点击星星时,通过Ajax将评分信息发送到服务器上并将其插入到您的表中。

我已经有一个名为“posts”的表,其中有一个名为“rating”的字段。所以我只需要将评分添加到那里?刷新后,我需要调用我的数据库来获取评分并将其放入星级评分中吗? - Bjorn Seigers
是的,你的逻辑是正确的。在这里,Ajax起着重要的作用。使用jQuery来完成这项工作并不难,我敢打赌。 - Yuankun
好的,这让我想到了另一个问题。 编写所有这些代码,哈哈! 去搜索一下。 已经谢谢你了 ;) - Bjorn Seigers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接