Zähltafel - Scoreboard

Mit schreiben in / lesen aus der Datei:
Code:
    <form id="spielstaende">
        <div class="plus plusminus" data-spieler="spieler1" data-aktion="+">+</div>
        <input class="stand" name="spieler1" size="2" value="">
        <div class="minus plusminus" data-spieler="spieler1" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler2" data-aktion="+">+</div>
        <input class="stand" name="spieler2" size="2" value="">
        <div class="minus plusminus" data-spieler="spieler2" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler3" data-aktion="+">+</div>
        <input class="stand" name="spieler3" size="2" value="">
        <div class="minus plusminus" data-spieler="spieler3" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler4" data-aktion="+">+</div>
        <input class="stand" name="spieler4" size="2" value="">
        <div class="minus plusminus" data-spieler="spieler4" data-aktion="-">-</div>
    </form>
    <script>
        $(".plusminus").on("click", function () {
            var aktion = $(this).attr("data-aktion");
            var namespieler = $(this).attr("data-spieler");
            var spieler = $("input[name='" + namespieler + "']");
            var stand = parseInt(spieler.val());
            if (aktion == "+") spieler.val(stand + 1);
            else if (stand != "0") spieler.val(stand - 1);
            var params = $("#spielstaende").serialize();
            $.post("spielstaende-schreiben.php", params, function (data) {
                var s = data;
            });
        });
        function spielstaende_lesen() {
            $.getJSON("spielstaende.json", function (data) {
                $("#spielstaende input").each(function (idx) {
                    $(this).val(data[$(this).attr("name")]);
                });
            })
        }
        spielstaende_lesen();
        window.setInterval(spielstaende_lesen, 500);
    </script>
    <style>
        .plusminus {
            display: inline-block;
            font-size: 50px;
        }
        .stand {
            font-size: 50px;
        }
    </style>

spielstaende-schreiben.php:
PHP:
<?php
    for ($i = 1; $i <= 4; $i++) {
        $spieler = "spieler". $i;
        $spielstaende[$spieler] = $_POST[$spieler];
    }
    file_put_contents("spielstaende.json", json_encode($spielstaende));
?>

Ich habe das JSON-Format verwendet, weil sich das programmtechnisch am leichtesten handhaben lässt. Du kannst die Werte in der Datei ändern und sie werden auf der Seite aktualisiert.
 

Neue Beiträge

Zurück