Bonjour / Bonsoir,

Je publie ce post ici, car je suis entrains de faire un système de like pour un site web.
J'ai fait la partie like est dislike en php est niveau JQuery j'ai fait en sort qu'il like ou dislike en arrière plan sans que la page se rafraichit graçe au tuto de Grafikart.
Mais le seul prôbléme de que j'ai c'est que le nombre de like ce modifie pas directement il fait rafraichire la page pour voir le nombre de like côter client.

Voila a quoi ressembre le code :

<a class="URL_link active" id="voteMoins" onclick="Moins(1);" href="<?php echo $RewriteEngineNamePage->RewriteEngineUrl('Like/'.$DonnerPostStatus['id']); ?>"><i class="fa fa-heart"></i><?php echo $NumberLike['NumberLike']; ?></a></li>

est le code JQuery :

(function($){

    $('.URL_link').on('click', function(e){
        e.preventDefault();
        var $a = $(this);
        var url = $a.attr('href');
        $.ajax(url, {
            success: function(){
                console.log('La publication a bien été liker.');
            },
            error: function(jqxhr){
                alert(jqxhr.responseText);
            }
        });
    })

})(jQuery);

Si une personne pourais m'aide sa seras vraiment sympa.

1 réponse


Bonsoir,
Il faudrait que côté php tu renvoies l'information si le like est bien ajouté (il ne faut pas que la personne puisse liker plusieurs fois la même page).
Ton script js récupère dans 'success' cette information. Si le like a bien été ajouté, il te suffit d'incrémenter par javascript le nombre de likes sur la page (non au niveau BDD mais dans la page web de l'internaute elle-même).
Pour cela il te faudrait encadrer ceci : <?php echo $NumberLike['NumberLike']; ?> par un span avec un id, et que pour incrémenter tu fasses $('#nombreLikes').html(nouvelleValeur);

En revanche, le fait de liker une page n'augmenterait pas automatiquement le nombre de like apparent sur le navigateur d'un autre internaute qui aurait la page ouverte.