PHP喜欢/不喜欢按钮第一次工作

时间:2015-12-02 20:01:10

标签: php jquery mysql ajax

我试图在我的网页上实现喜欢/不喜欢的按钮。我设法让按钮工作(它变得喜欢不喜欢,反之亦然),它还在数据库表上创建或删除了类似的东西。现在的问题是喜欢的反击。它仅在我第一次点击按钮时起作用,即如果最初有2 likes并且我不喜欢帖子显示1 likes的帖子,但如果我再次尝试点击它,它会一直显示{{ 1}}我必须重新加载页面才能将其更改为1 like

这是我到目前为止所做的:

JQUERY

2 likes

PHP

$(document).on('click', ".miPiace", function() {
    trova = '';
    commentoORisposta = '';
    valCOR = '';
    var comOrisp;       

    try{
        trova = $(this).parentsUntil("#fermamiQui");
        commentoORisposta = trova.find(".idCommento");
        comOrisp = 'commento';
        valCOR = commentoORisposta.val();

    } catch(err){
        trova = $(this).parentsUntil(".infoCommento");
        commentoORisposta = trova.find(".idRisposta");
        comOrisp = 'risposta';
        valCOR = commentoORisposta.val();

    }
    valCOR = commentoORisposta.val();



    if ($(this).hasClass('fa-thumbs-o-up')) {
        $(this).removeClass('fa-thumbs-o-up');
        $(this).addClass('fa-thumbs-up');

        $.get( "lib/ottieniCose.php", { like: "", id: valCOR, comOrisp: comOrisp } )
            .done(function( data ) {
            trova.find('.numDiLikes').replaceWith('<p>' + data + ' likes</p>');
        });


    }else if($(this).hasClass('fa-thumbs-up')){
        $(this).removeClass('fa-thumbs-up');
        $(this).addClass('fa-thumbs-o-up');

        $.get( "lib/ottieniCose.php", { remLike: "", id: valCOR, comOrisp: comOrisp } )
            .done(function( data ) {
            trova.find('.numDiLikes').replaceWith('<p>' + data + ' likes</p>');
        });


    };
});

其他PHP文件,其中有$ commenti类

if (isset($_GET['like'])) {

    if ($_GET['comOrisp'] == 'commento') {

        $commento->set_likes($_GET['id'], true);
        return print $commento->get_likes($_GET['id'], true);

    } elseif ($_GET['comOrisp'] == 'risposta') {

        $commento->set_likes($_GET['id'], false);
        return print $commento->get_likes($_GET['id'], false);
    }
} elseif (isset($_GET['remLike'])) {

    if ($_GET['comOrisp'] == 'commento') {

        $commento->remove_likes($_GET['id'], true);
        return print $commento->get_likes($_GET['id'], true);

    } elseif ($_GET['comOrisp'] == 'risposta') {

        $commento->remove_likes($_GET['id'], false);
        return print $commento->get_likes($_GET['id'], false);
    }
}

1 个答案:

答案 0 :(得分:1)

您可能需要尝试正常$.ajax来电。并关闭缓存。有时,这会导致您需要刷新以查看更改的问题。

$.ajax({
    type: 'GET',
    cache: false,
    url: "lib/ottieniCose.php",
    data: { like: "", id: valCOR, comOrisp: comOrisp },
    dataType: "html",
    success: function(html){
        trova.find('.numDiLikes').html('<p>' + data + ' likes</p>');
    }
});