Intereting Posts
Как установить переменную env для PHP? Удалить <br /> из тега <pre> </ pre> file_get_contents завершается с ошибкой «getaddrinfo failed: нет адреса, связанного с именем хоста» Разбирайте таблицу html с помощью file_get_contents в php-массив регулярное выражение, не совпадающее из-за повторной группы захвата, а не захвата повторяющейся группы Как решить ошибку «не удается передать параметр по ссылке» в PHP? PHP-флеш: как часто и наилучшая практика Как искать html-файл для простой строки? Загрузите несколько файлов с помощью файла «Добавить» – требуется идентификатор из поля ввода Как сохранить несколько значений флажков в сводной таблице? Можно ли перегрузить операторы в PHP? Отправить письмо от localhost с gmail (windows) Установка часовой пояс по умолчанию не работает, несмотря на то, что часовой пояс действителен как я могу сопоставить две строки, даже если они отличаются 1 символом? Функция обратного вызова php в классе

UP или DOWN Голосование в реальном времени jQuery Ajax PHP

Хорошо, вот краткое объяснение того, что я делаю: у меня есть веб-сайт, на котором люди могут голосовать ВВЕРХ или ВНИЗ «чемпиону». Эти чемпионы начинаются со 100 здоровья. Если бы вы участвовали в голосовании против чемпионов, их здоровье теперь будет 101. DOWN голосования будет 99.

Этот сайт работает и работает уже 5 сезонов (в нем участвуют более 1200 участников). Так что сейчас идет много голосования. Сейчас все работает отлично. НО, для этого следующего сезона я буду внедрять jquery / ajax для голосования в режиме реального времени (так что страница не должна обновляться каждый раз, когда вы проголосуете).

Борьба, с которой я столкнулась сейчас, – это, во-первых, я не очень хорош с ajax / js. Однако основная проблема заключается в том, когда кто-то нажимает на голосование, мне нужен способ захватить данные LIVE из БД, а затем выбросить их в запрос jquery / ajax, а затем вывести реальные данные в режиме реального времени (или, по крайней мере, я чувствуйте, что это то, что нужно делать).

Есть и вторая часть этого … людям разрешено голосовать 3 раза в час. В верхней части страницы есть уведомление, в котором показано, сколько голосов у них осталось: «У вас осталось 3 действия». Это снова работает нормально, как есть, но, я думаю, нужно было бы установить с помощью ajax в реальном времени.

Надеюсь, я объяснил это достаточно хорошо. Если нет, сообщите мне! Любая помощь будет принята с благодарностью!

КОД:

$("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>'); } }); }); }); 

Related of "UP или DOWN Голосование в реальном времени jQuery Ajax PHP"

Все это просто запросы к базе данных, которые возвращаются с помощью JSON. Возможно, есть два действия на бэкэнд – голосуйте и обновляйте.

В методе голосования сначала проверьте, есть ли текущий счет избирателя. Если голосов осталось, сделайте счет чемпионов вверх или вниз.

Затем верните этот массив:

  1. Элемент списка
  2. Чемпионы
  3. Осталось голосов
  4. Ошибка (если существует)

В методе обновления (который будет опросить серверный сервер каждые х секунд или минут), количество возвращаемых голосов будет возвращено.

Довольно простая реализация ajax.

Надеюсь это поможет!


EDIT: ссылки обучения AJAX

С jQuery, это супер, супер легко. Вот как: