From e9fa1af2f4bd0725054c6afbb9a686070b92f331 Mon Sep 17 00:00:00 2001 From: fds2610 Date: Wed, 21 Jan 2026 20:20:52 +0100 Subject: [PATCH] =?UTF-8?q?sortierung=20ge=C3=A4ndert=20und=20edit=20butto?= =?UTF-8?q?n=20Funktion=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/assets/css/style.css | 4 + html/assets/img/pencil.png | Bin 0 -> 2002 bytes html/dashboard.php | 8 +- html/edit_entry.php | 214 +++++++++++++++++++++++++++++++++++++ 4 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 html/assets/img/pencil.png create mode 100644 html/edit_entry.php diff --git a/html/assets/css/style.css b/html/assets/css/style.css index b2bdb44..90c82a9 100644 --- a/html/assets/css/style.css +++ b/html/assets/css/style.css @@ -260,6 +260,10 @@ td.align-right { text-align: right; } +img.pencil { + margin-top: 10px; +} + th { background: var(--primary-color); color: white; diff --git a/html/assets/img/pencil.png b/html/assets/img/pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..729f56d74387074ba066d414a0c1d3477261ad87 GIT binary patch literal 2002 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#B(j9#r85lP9bN@+X1@ak-gWR1M z)}51i3FIgwdj$D1FjT2AFf_CuiKsL})L8um>rxXRm!2SX`6=Dv;Qiw)=n7wG`kix|X;@q@64UsbGJyJ6=eEW)BZ0hGoORWOFmeL zo#{)U#x|41e2W(F&;PM``|l&E*G*-aEp2v0vPCm6FrV>saSW-r_4a0Z zv~Z-zfse}OoC}zCbEhOaPmB$imHU=e=SKDWz2EPF2?1>dUqK$N4%SYGBmR$#)r~DX zC;zaSS^f3upL>S-=T!gSu@+`}QDUWcUdz~c^O_Hy|D8(kIkNu4_6)d>GKYuB@A|ncwjL+m%6~j2TxvUS2M7SrT;et!c^3mT-I93p?uNPS*C6Zm^oS(Br$8 z?JN)R{M5|d|21lR?lW9_V)G>=b3^2=GV95!&rj!id3=%gU)zvZz2fihTqvnuX7}RC z1eVgJJ&Bj5-tgl6t={qL#JzU`p;_~K#D&_6@66YJ@#x!|itk=u8T%%St$q5>x%R}l z-n^;%BqgPU7yYccnk2tzp}+pB5dHK0-4AZrzbl$7^u$Yd7P~>pjQoccbt`#ZU7xz`$xKKEraGG45I)|{p7!}pE%t&Lb>&P3MSw6uSr z|Icpfdr9e+-wdL6$EC>swx0dPCT^R|oLBFQzZ+iqbDoEFJp;Q{e4u35yw9$+7k1V- zl*wqo@0#sum)LEoKk{|uwqW_^|1SQ1QTxTNN`CM8{FlWcchj%m zo&V)0b4`fAnqM^%*H$)9w>#MQ_<;Mh=5uyOE^P#Idk=;$4qn-Ro2#bQq0={Rm?0el?zjn^KcKI!*p1yKE^}+g7gHyo6SI&HUj{J>a(Tb_{=zHuimr-<` z-4nyfQ@Y*_;WwJNR#Ik#x5az0=-u=BQw0)9(ov=G|D}R3Lw;a*s($ zPWi>!48FRXv!?0o;J56#-}?3(P-V;^OY!d)r*3wQ{FZUg?uiZGE;fF(W##fS%Ku#a z_u72*`}e(z?Doj`-{-!5uhctRET`&Fhxhyq7uf8$c$wKx+dkv{x>AS#`{%&iOwI*U zU(XP~ay;taq@QQP{>Z4To-|W@diIpR#fMIq7_>D#apMZk6iS_U?cJkkYtJ1%xB0-y zq@Pdi4JH3v+O=2ys`_rVq=SoEbJsp7S#xEXV&F<;!I~PGd6RaPbpF5mqHE#Ho#zis yp7bbcZN5?7!EdUG4|<>F?sEU%zr*kO2U!K(#b)2)Q!W6DF9uInKbLh*2~7Zx$hzkM literal 0 HcmV?d00001 diff --git a/html/dashboard.php b/html/dashboard.php index 5c0ddfe..7007c96 100644 --- a/html/dashboard.php +++ b/html/dashboard.php @@ -44,7 +44,7 @@ WHERE EXTRACT(YEAR FROM e.date) = EXTRACT(YEAR FROM CURRENT_DATE()) AND EXTRACT(MONTH FROM e.date) = EXTRACT(MONTH FROM CURRENT_DATE()) ORDER BY -e.date DESC; +e.date DESC, id desc; "; $stmt = $pdo->prepare($sql); @@ -86,6 +86,7 @@ $entries = $stmt->fetchAll(); Betreff Betrag Hinweis +  @@ -99,6 +100,11 @@ $entries = $stmt->fetchAll(); + + + + + diff --git a/html/edit_entry.php b/html/edit_entry.php new file mode 100644 index 0000000..757c6c5 --- /dev/null +++ b/html/edit_entry.php @@ -0,0 +1,214 @@ +prepare(" + SELECT * FROM entries + WHERE id = :id + "); + $stmtEntry->bindParam(':id', $entry_id, PDO::PARAM_INT); + $stmtEntry->execute(); + $entry = $stmtEntry->fetch(PDO::FETCH_ASSOC); + + if (!$entry) { + header('Location: dashboard.php'); + exit; + } +} catch (PDOException $e) { + $data_saved = "Fehler: Eintrag konnte nicht geladen werden."; +} + +// Speicher-Logik +if (!empty($_POST)) { + $date = isset($_POST['date']) ? trim($_POST['date']) : ''; + $user_id = isset($_POST['user_id']) ? trim($_POST['user_id']) : ''; + $person = isset($_POST['person']) ? $_POST['person'] : []; + $category = isset($_POST['category']) ? trim($_POST['category']) : ''; + $subject = isset($_POST['subject']) ? trim($_POST['subject']) : ''; + $note = isset($_POST['note']) ? trim($_POST['note']) : ''; + $amount = isset($_POST['amount']) ? (float)$_POST['amount'] : 0.0; + $payment_method = isset($_POST['payment_method']) ? trim($_POST['payment_method']) : ''; + $jsonPersonen = json_encode($person); + + try { + $stmt = $pdo->prepare(" + UPDATE entries + SET + date = :date, + user_id = :user_id, + person = :person, + category = :category, + subject = :subject, + amount = :amount, + payment_method = :payment_method, + note = :note + WHERE id = :id + "); + $stmt->bindParam(':id', $entry_id, PDO::PARAM_INT); + $stmt->bindParam(':date', $date); + $stmt->bindParam(':user_id', $user_id); + $stmt->bindParam(':person', $jsonPersonen); + $stmt->bindParam(':category', $category); + $stmt->bindParam(':subject', $subject); + $stmt->bindParam(':amount', $amount); + $stmt->bindParam(':payment_method', $payment_method); + $stmt->bindParam(':note', $note); + + $stmt->execute(); + $data_saved = "true"; + } catch (PDOException $e) { + $data_saved = "Fehler: " . $e->getMessage(); + } +} + +// Benutzer, Kategorien und Zahlweisen laden +try { + $stmtUsers = $pdo->prepare("SELECT * FROM users ORDER BY id;"); + $stmtUsers->execute(); + $users = $stmtUsers->fetchAll(PDO::FETCH_ASSOC); + + foreach ($users as $user) { + if ($user['id'] == $_SESSION['user_id']) { + $loggedInUserId = $user['id']; + break; + } + } + + $stmtCategories = $pdo->prepare("SELECT * FROM categories ORDER BY category_id;"); + $stmtCategories->execute(); + $categories = $stmtCategories->fetchAll(PDO::FETCH_ASSOC); + + $stmtPayMethods = $pdo->prepare("SELECT payment_method_id, name FROM payment_methods ORDER BY name;"); + $stmtPayMethods->execute(); + $pay_methods = $stmtPayMethods->fetchAll(PDO::FETCH_ASSOC); + +} catch (PDOException $e) { + $data_saved = "Fehler: "; +} +?> + + + + + +FSCash - Eintrag bearbeiten + + + +"; ?> + +
+Daten gespeichert ! +Zurück zur Übersicht + +
+ + +
+
+ + + + +
+
+ +
+
+ +
+ +
+ + +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +