otación @UP o DOWN en tiempo real jQuery Ajax PHP

De acuerdo, aquí hay una explicación rápida de lo que estoy haciendo: tengo un sitio web donde la gente puede votar ARRIBA o ABAJO a un "campeón". Estos campeones comienzan con 100 de salud. Si votaras ARRIBA a un campeón específico, su salud ahora sería 101. Votar ABAJO sería 99.

Este sitio está en funcionamiento y lo ha estado durante 5 temporadas (hay más de 1200 miembros que juegan). Así que hay muchas votaciones al mismo tiempo. Todo funciona bien ahora. PERO, para esta próxima temporada, implementaré jquery / ajax para la votación "en tiempo real" (por lo que la página no necesita actualizarse cada vez que vota).

La lucha que estoy teniendo ahora con esto es, en primer lugar, no estoy muy bien con ajax / js. Sin embargo, el problema principal es que cuando alguien hace clic en un voto, necesito una forma de obtener los datos EN VIVO del DB y luego arrojarlos a la consulta jquery / ajax y luego generar los datos reales, en tiempo real (o al menos yo siente que esto es lo que debe hacerse).

También hay una segunda parte de esto ... las personas pueden votar 3 veces por hora. Hay una notificación en la parte superior de la página que les muestra cuántos votos les quedan, "Te quedan 3 acciones". De nuevo, funciona bien como está, pero imagino que sería necesario arreglarlo con el ajax para que también sea en tiempo real.

Espero haber explicado esto lo suficientemente bien. ¡Si no es así, por favor hágamelo saber! Cualquier ayuda sería muy apreciada!

CÓDIGO

$("a.vote-heal").click(function(){
    var votes;
    var champ;
    var health;
    champ = $(this).attr('id');

    votes = $("#votesLeft").text();
    votes--;

    //the main ajax request
    $.getJSON("/load-champ.php?champ="+champ, function(data) {
        $.each(data, function(i,data) {
            health = data.health;
            health++;
        });
        $.ajax({
            type: "POST",
            url: "/votes.php",
            data: "champ="+champ+"&action=heal",
            success: function(msg) {
                $('#'+champ+' .health-inner').html(health);
                $('#header .vote-remain').html('You have <strong><span id="votesLeft">'+votes+'</span> Actions</strong> remaining');
                $('#'+champ+' .voting').html('<a id='+champ+'" class="button vote-hurt" href="javascript:;">Hurt '+champ+'</a><div class="button vote-heal action-tooltip">Heal '+champ+'</div>');
            }
        });
    });
});

Respuestas a la pregunta(2)

Su respuesta a la pregunta