From 237b0c4900758c245f44fb15afb34be435f7e7d0 Mon Sep 17 00:00:00 2001 From: p3t3rp1Lz Date: Sat, 22 Nov 2025 19:11:19 +0100 Subject: [PATCH] Datepicker in konto.php --- forms/datepicker.php | 62 ++++++++++++++++ konto.php | 166 ++++++++++++++++++++++++++++++++++--------- style.css | 10 +++ 3 files changed, 204 insertions(+), 34 deletions(-) create mode 100644 forms/datepicker.php diff --git a/forms/datepicker.php b/forms/datepicker.php new file mode 100644 index 0000000..55ec366 --- /dev/null +++ b/forms/datepicker.php @@ -0,0 +1,62 @@ +false,'message'=>'Kein Zeitraum']); exit; + } + + $stmt = $pdo->prepare("SELECT kb.id AS kontobewegung_id, + kb.betrag, + kb.beschreibung, + kb.datum_ausgegeben, + kb.datum_abgebucht, + kb.kostenfix_id + FROM kontobewegung kb + LEFT OUTER JOIN kostenfix kf ON kf.id = kb.kostenfix_id + WHERE kb.konto_id = :konto_id + AND kb.datum_ausgegeben BETWEEN :von AND :bis + ORDER BY datum_ausgegeben DESC, + kb.id DESC;"); + $stmt->execute(['konto_id' => $konto_id, + 'von'=>$start, + 'bis'=>$end]); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $tabelle_gesamt = []; + foreach($rows as $r) { + $tabelle_zeile = []; + $tabelle_zeile["datum_abgebucht"] = "" + . ($r['datum_abgebucht'] ?? '') + . ""; + $tabelle_zeile["datum_ausgegeben"] = "" + . ($r['datum_ausgegeben'] ?? '') + . ""; + $tabelle_zeile["beschreibung"] = "" + . ($r['beschreibung'] ?? '') + . ""; + + $tabelle_zeile["betrag"] = "" + . (number_format($r['betrag'], 2, ",", ".")) + . " €"; + + $tabelle_zeile["tr_class"] = $r['kostenfix_id'] ? "konto_fixKosten" : "standard"; + + $tabelle_gesamt[] = $tabelle_zeile; + } + + echo json_encode(['success'=>true,'rows'=>$tabelle_gesamt]); \ No newline at end of file diff --git a/konto.php b/konto.php index 35bf916..7e91ead 100644 --- a/konto.php +++ b/konto.php @@ -18,6 +18,13 @@ $konto_kontostand = $konto[0]['kontostand']; $konto_backgroundColor = $konto[0]['backgroundcolor']; + + $stmt = $pdo->query("SELECT (date_trunc('month', CURRENT_DATE::date) - interval '2 month')::date AS von, + (date_trunc('month', CURRENT_DATE::date) + interval '1 month' - interval '1 day')::date AS bis;"); + $monat_aktuell = $stmt->fetchAll(PDO::FETCH_ASSOC)[0]; + + $selectedRange = $_GET['range'] ?? $monat_aktuell['von'] . " to " . $monat_aktuell['bis']; + $stmt = $pdo->prepare("SELECT kb.id AS kontobewegung_id, kb.betrag, kb.beschreibung, @@ -27,24 +34,106 @@ FROM kontobewegung kb LEFT OUTER JOIN kostenfix kf ON kf.id = kb.kostenfix_id WHERE kb.konto_id = :konto_id + AND kb.datum_ausgegeben BETWEEN :von AND :bis ORDER BY datum_ausgegeben DESC, kb.id DESC;"); - $stmt->execute(['konto_id' => $konto_id]); + $stmt->execute(['konto_id' => $konto_id, 'von' => $monat_aktuell['von'], 'bis' => $monat_aktuell['bis']]); $kontobewegung = $stmt->fetchAll(PDO::FETCH_ASSOC); - ?> + + +