【问题标题】:Save rating in database将评分保存在数据库中
【发布时间】:2011-05-17 15:32:27
【问题描述】:

我正在使用一个 jQuery 插件来获得我在 PHP 驱动的网站上发布的每个帖子的评分。

我使用的插件叫Raty,可以在here找到。

我想知道如何保存这个评级,因为我可以点击星星,然后我得到 5 星评级,但如果我刷新页面,评级就消失了。

所以我应该以某种方式保存它。

【问题讨论】:

    标签: php jquery jquery-plugins


    【解决方案1】:

    您可以尝试以下点击事件:(示例代码)

    $('#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 或某种持久性数据中读取此值才能使其正常工作。
    【解决方案2】:

    首先,您应该在数据库中为此创建一个表。

    点击星号后,将费率信息(通过使用 Ajax)发送到您的服务器计算机并将其插入到您的表格中。

    【讨论】:

    • 我已经有一个名为 posts 的表,并且有一个名为 rating 的字段。所以我只需要添加评级?刷新后,我需要调用我的数据库以获取评分并将其放入星中?
    • 是的,你的逻辑是正确的。 Ajax 在这里扮演着重要的角色。我敢打赌,使用 jQuery 来完成这项工作并不难。
    • 好的,这让我想到了另一个问题。编码所有这些,哈哈!要去寻找它。已经谢谢了;)
    【解决方案3】:

    您可以在此处使用 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
    
                });
    
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2013-01-17
      • 2017-05-30
      • 1970-01-01
      • 2016-11-11
      相关资源
      最近更新 更多