Differenz in Tagen in Tabelle ausgeben
Hallo,
ich bin absoluter Neuling, sowohl was das Programmieren angeht als auch das Posten in Foren (erster Beitrag!). Es gibt diverse Beiträge zu meinem Problem aber keines hat mir bisher weitergeholfen... Folgender IST Zustand: Ich habe ein Formular erstellt mit dessen Hilfe sich Kunden vom Musikunterricht abmelden können. Es gibt eine Spalte (Date) in der das Datum steht für welches sie sich abmelden und eine Spalte (Timestamp) in der der Zeitpunkt angegeben wird wann sie sich abgemeldet haben. Für die Buchhaltung wäre es jetzt enorm praktisch, eine weitere Spalte zu erhalten, in welcher die Differenz dieser beiden Spalten angegeben wird. In Tagen würde vollkommen ausreichen! Frage: 1. Wann wird die Differenz berechnet - beim Eintragen in die Datenbank oder kann ich das auch nachträglich für die bereits bestehenden Einträge ändern? 2. Wie mach ich das? ;) Bisher habe ich nur einen einfachen Code um die gesamte Datenbank abzurufen. Die Timestamp-Spalte habe ich per phpMyAdmin erstellt. Das Eintragen in die Datenbank erfolgt über ein E-Mail Formular von website x5 (daran kann ich womöglich nicht viel ändern). Es wäre also super, wenn ich was an der Abfrage ändern könnte oder bei PhpMyAdmin. Ist das machbar? Liebe Grüße und vielen Dank im Voraus für jede Idee! |
AW: Differenz in Tagen in Tabelle ausgeben
hey fieliepae,
klar selbstverständlich ist es möglich und zwar kannst du es dir bei der Tabellenansicht anzeigen lassen. Dafür einfach die grundlagen über Datumsberechnung von PHP anschauen. Dort solltest du fündig werden. Du berechnest den Timestamp und gibst die ausgabe aus. Mfg Flava |
AW: Differenz in Tagen in Tabelle ausgeben
Hi Flava,
danke für die Antwort! Hab nach einiger Recherche folgendes gefunden: PHP-Code:
Wie kann ich es nun schaffen, dass diese Funktion für jede Zeile verwendet wird und am Ende jeder Zeile die Differenz ausgegeben wird? Bin ich mit der Funktion überhaupt grundsätzlich auf dem richtigen Weg? Liebe Grüße |
AW: Differenz in Tagen in Tabelle ausgeben
Hallo und willkommen hier im Forum.
Zitat:
Zeig uns bitte was Du bereits hast. Dazu gehört unter anderem die Struktur Deiner Datenbanktabelle und 3-5 aussagekräftige Datensätze. |
AW: Differenz in Tagen in Tabelle ausgeben
Einmal Date und einemal Timestamp?
einen Timestamp kann man mit mktime erstellen, ich würde also das Datum in einen Timestamp umrechnen und dann so vorgehen PHP-Code:
|
AW: Differenz in Tagen in Tabelle ausgeben
Erstmal vielen Dank für eure Zeit und Hilfe!
Genau, einmal Date für die Datumsangabe (liegt in der Zukunft) die der Kunde macht, damit die Tabelle sortiert werden kann und einmal ein Timestamp der automatisch eingefügt wird sobald die Abmeldung abgeschickt wurde, damit die Buchhaltung weiß ob die Abmeldung fristgerecht erfolgte. Also hier der bisherige Code: Der Fairness halber, ich habe den Code von einem "Andreas Gruber" welcher ihn zum kostenfreien Download auf seiner Homepage zur Verfügung gestellt hat. Ich verstehe ihn zu ca. 75% (z.B. weiß ich bis heute nicht was "feldcontainer bedeutet...) und habe hier und da noch etwas verändert. Die Bemerkungen sind von mir, damit ich den Code einigermaßen verstehe und den Überblick behalte ;) PHP-Code:
Die Tabelle ist leider zu breit um sie mit einem Screenshot einzufangen, aber ich glaube es wird klar worum es geht?! Ganz rechts hätte ich nun gerne die Differenz aus "Datum_Abmeldung" und "Zeit" in Tagen stehen... Für Tipps und Ideen bin ich sehr dankbar! Liebe Grüße |
AW: Differenz in Tagen in Tabelle ausgeben
Die Anzeige 'Die Differenz betraegt 0 Tage' beruht auf diesem Fehler
PHP-Code:
Wenn - auf Grund der noch immer geheimgehaltenen Datenbanktabellenstruktur - ich Dich aber dennoch richtig verstanden habe, gibt es (noch) keine Spalte für die Differenz in Tagen. Daher füge eine weitere Spalte in den (Anzeige-)Tabellenaufbau ein und fülle das so neu gewonnene Feld mit der Berechnung aus 'Datum_Abmeldung' und 'Zeit'. PS: $feldcontainer[$i] ist eine Variable (Array) in dem die Feldnamen Deiner Datenbanktabelle gesammelt werden, um weiter unten im Code den Inhalt des jeweiligen Feldes in der (Anzeige-)Tabelle darstellen zu können. |
AW: Differenz in Tagen in Tabelle ausgeben
Es sind eigentlich alles Textfelder außer den zwei Datumspalten und der id Spalte.
Hier die Struktur. Die letzte Spalte soll der Berechnung der Differenz dienen, nur leider weiß ich nicht wo bzw. wie ich genau dieser Spalte die Berechnung zuordnen kann... Geht das mit phpMyAdmin? Vielen Dank schon mal für den Tipp, ich probiere ein bisschen rum! |
AW: Differenz in Tagen in Tabelle ausgeben
Wieso ist das Feld Differenz-Datum ein Text-Feld? Was steht zzt. bei der Anzeige der Tabelle im Feld Differenz_Datum?
Wie sieht Dein INSERT-Statment aus (alte Werte lassen sich nachtragen, neue gleich beim Speichern berechnen - dann ersparst Du Dir den unnötigen Anzeigekram)? Für gleichen Inhalt sollten auch die gleiche Art von Feldtypen benutzt werden. In diesem Zusammenhang noch: benutze zukünftig mysqli - mysql ist veraltet. |
AW: Differenz in Tagen in Tabelle ausgeben
Oh, das war ursprünglich mal ein DATE Feld... Da hatte ich nur was ausprobiert. Deshalb steht da im Moment: 0000-00-00 00:00:00 Sollte ich die Datumsfelder lieber alle auf TIMESTAMP stellen?
Zum Eintragen benutze ich ein E-Mail Formular von website x5.... An den Code komme ich nicht ran. Ich kann für jede Spalte "Namen des Felds in der Datenbank" sowie "Attribut <name>" angeben. Mehr leider nicht... |
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14:41 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.