From fb0d6cd6786c2b0a8407ccbc2e680a81e6a53719 Mon Sep 17 00:00:00 2001 From: Trygve Date: Fri, 11 Oct 2024 17:41:20 +0200 Subject: [PATCH] Flytta tabellproduseringa til php --- get_table.php | 79 ++++++++++++++++++++++++++++++++++++++---------- registrering.php | 73 ++++++++++++++++++++++++-------------------- 2 files changed, 104 insertions(+), 48 deletions(-) diff --git a/get_table.php b/get_table.php index b379291..7c48590 100644 --- a/get_table.php +++ b/get_table.php @@ -108,28 +108,75 @@ for ($i = 0; $i < count($timings); $i++) { } usort($runners, "cmp"); -echo(" + +$query = explode(",",$_SERVER['QUERY_STRING']); + +if ($query[0] == "registrering"){ + $matpost = $query[1]; + echo(" # Startnummer Navn 1. matpost 2. matpost Mål - "); -for ($i = 0; $i < count($runners); $i++) { - $runner = $runners[$i]; - $tid_1_mat = ""; - if ($runner->splits[0] != false) { - // https://www.php.net/manual/en/class.dateinterval.php - $tid_1_mat = $GLOBALS['start_time']->diff($runner->splits[0])->format('%H:%I:%S'); + "); + for ($i = 0; $i < count($runners); $i++) { + $runner = $runners[$i]; + $tid_1_mat = ""; + if ($runner->splits[0] != false) { + // https://www.php.net/manual/en/class.dateinterval.php + $tid_1_mat = $GLOBALS['start_time']->diff($runner->splits[0])->format('%H:%I:%S'); + } + $tid_2_mat = ""; + if ($runner->splits[1] != false) { + $tid_2_mat = $GLOBALS['start_time']->diff($runner->splits[1])->format('%H:%I:%S'); + } + $tid_maal = ""; + if ($runner->splits[2] != false) { + $tid_maal = $GLOBALS['start_time']->diff($runner->splits[2])->format('%H:%I:%S'); + } + if ($runner->get_control() == $matpost-1) { + // Løperen har vært på denne matposten og vi farger raden grønn + $button = ""; + $cssclass = "class=\"bg-success\"\""; + } + elseif ($runner->get_control() > $matpost-1) { + // Løperen har vært på denne matposten og vi farger raden grønn + $button = ""; + $cssclass = "class=\"bg-active\"\""; + } + else { + $button = ""; + $cssclass = ""; + } + echo ("". $i+1 .".$runner->id$runner->name$tid_1_mat$tid_2_mat$tid_maal$button\n"); } - $tid_2_mat = ""; - if ($runner->splits[1] != false) { - $tid_2_mat = $GLOBALS['start_time']->diff($runner->splits[1])->format('%H:%I:%S'); +} +else { + echo(" + # + Startnummer + Navn + 1. matpost + 2. matpost + Mål + "); + for ($i = 0; $i < count($runners); $i++) { + $runner = $runners[$i]; + $tid_1_mat = ""; + if ($runner->splits[0] != false) { + // https://www.php.net/manual/en/class.dateinterval.php + $tid_1_mat = $GLOBALS['start_time']->diff($runner->splits[0])->format('%H:%I:%S'); + } + $tid_2_mat = ""; + if ($runner->splits[1] != false) { + $tid_2_mat = $GLOBALS['start_time']->diff($runner->splits[1])->format('%H:%I:%S'); + } + $tid_maal = ""; + if ($runner->splits[2] != false) { + $tid_maal = $GLOBALS['start_time']->diff($runner->splits[2])->format('%H:%I:%S'); + } + echo ("". $i+1 .".$runner->id$runner->name$tid_1_mat$tid_2_mat$tid_maal\n"); } - $tid_maal = ""; - if ($runner->splits[2] != false) { - $tid_maal = $GLOBALS['start_time']->diff($runner->splits[2])->format('%H:%I:%S'); - } - echo ("". $i+1 .".$runner->id$runner->name$tid_1_mat$tid_2_mat$tid_maal\n"); } \ No newline at end of file diff --git a/registrering.php b/registrering.php index 1dd080b..64149a2 100644 --- a/registrering.php +++ b/registrering.php @@ -15,26 +15,32 @@ flex-wrap: wrap; justify-content: space-evenly; } + .bg-success { + background: var(--bg-success) !important; + } + .bg-active { + background: var(--bg-active) !important; + }
Velg post
- +
@@ -52,8 +58,22 @@ print_r($action) // Hvilken matpost vi er på: var control = location.search[1]; +function get_control() { + try { + return document.querySelector('input[name="post"]:checked').value; + } + catch (error) { + return 0; + } +} + function register_runner(id) { - control = document.querySelector('input[name="post"]:checked').value; + control = get_control(); + if (control == 0) { + console.error(error); + alert("Velg en post!"); + return 0; + } let formData = new FormData(); formData.append(name= 'control', value=control); formData.append(name= 'id', value=id); @@ -63,31 +83,9 @@ function register_runner(id) { method: "POST", body: formData, }); + update() + //document.getElementById("search").focus() }; -function update_runner_status(id, name) { - update_row(id, name, true); - register_runner(id); -} - -function read_db() { - let xmlHttp = new XMLHttpRequest(); - xmlHttp.open("GET", "db.csv", false); - xmlHttp.send(null); - return xmlHttp.responseText; -} - -function create_row(id, name, passed) { - if (!passed) { - button = `` - return `${id}${name}${button}` - } - else { - button = `` - return `${id}${name}${button}` - } - -} - function create_rows(csv) { csv = csv.split('\n') rows = "#Navn"; @@ -120,9 +118,20 @@ function filterTable() { function update_row(id, name, passed) { row = document.getElementById(id) row.innerHTML = create_row(id, name, passed) - row.classList.add("passed"); + row.classList.add("bg-success"); } -table = document.getElementById("runners") -table.innerHTML = create_rows(read_db()) + +function update() { + const table = document.getElementById("runners"); + control = get_control(); + const myRequest = new Request(`get_table.php?registrering,`+control); + fetch(myRequest) + .then((response) => response.text()) + .then((text) => { + table.innerHTML = text; + }); + } + +update() \ No newline at end of file