Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe ein kleines Programm in PHP geschrieben, womit man Fragebögen erstellen kann. Jetzt gibt es im Administrationsmenü auch eine Möglichkeit diese auswerten zu lassen. Dazu gehört auch eine Möglichkeit verschiedene Perioden zu betrachten. In der ersten Maske wird also die Kategorie angegeben, die betrachtet werden soll und die Periode, also von bis wann das ganze betrachtet werden soll. Das sollte auch kein Problem darstellen, dachte ich. Beim Ausfüllen des Fragebogens wird das aktuelle Datum in der Form Jahr-Monat-Tag in der Datenbank gespeichert. Jetzt soll das Auswertungsprogramm die Ergebnisse die Nach dem bzw. genau an dem Von Datum und die vor bzw. genau an dem Bis Datum entstanden sind liefern. Jetzt gibt es ein Problem mit der Datumsfunktion, welches ich nicht verstehe. Ich wandel das Datum, welches in der Maske eingegeben wurde folgendermaßen um:


$timestamp=strtotime($jahrvon.$monatvon.$tagvon);
$von = date("Y-m-d",$timestamp);
$timestamp=strtotime($jahrbis.$monatbis.$tagbis);
$bis = date("Y-m-d",$timestamp);[/php]

Das $von Datum wandelt er nocht korrekt um, allerdings nicht das $bis Datum. Dort kommt immer das Ergebnis 1970-01-01. Ich weiß nicht, was ich da falsch gemacht habe. Ich hoffe, ihr könnt mir helfen.

Geschrieben
Das $von Datum wandelt er nocht korrekt um, allerdings nicht das $bis Datum. Dort kommt immer das Ergebnis 1970-01-01. Ich weiß nicht, was ich da falsch gemacht habe. Ich hoffe, ihr könnt mir helfen.

lass dir bitte die inhalte folgender variablen:

$timestamp

$jahrbis

$monatbis

$tagbis

nach der codezeile

$timestamp=strtotime($jahrbis.$monatbis.$tagbis);

ausgeben und poste sie hier. interessant wäre auch, ob vorher noch etwas mit den datumsvariablen gemacht wird.

Geschrieben

Schon mal geguckt, ob beim zweiten Datum die Variablen auch korrekt gefüllt sind? Wahrscheinlich nicht. Gib die einzelnen Strings doch mal mit "echo" aus.

Und warum eigentlich so kompliziert?


$von = $jahrvon."-".$monatvon."-".$tagvon;
$bis = $jahrbis."-".$monatbis."-".$tagbis;
[/PHP]

Geschrieben
lass dir bitte die inhalte folgender variablen:

$timestamp

$jahrbis

$monatbis

$tagbis

nach der codezeile

$timestamp=strtotime($jahrbis.$monatbis.$tagbis);

ausgeben und poste sie hier. interessant wäre auch, ob vorher noch etwas mit den datumsvariablen gemacht wird.

Hi, danke für die schnellen Antworten. Ich glaube, dass die Variablen korrekt gefüllt sind. Als Eingabe habe ich den 1.11.2006 gewählt, also Jahr=2006, Monat=11 und Tag=1.

Die Ausgabe ist folgende:

2006 für $jahrbis

11 für $monatbis

1 für $tagbis

Also korrekt. Für $timestamp bekomme ich allerdings -1 zurückgeliefert.

Und warum eigentlich so kompliziert?

Ich weiß ehrlich gesagt nicht, wie es anders geht. Bin also für eine weniger komplizierte Lösung immer dankbar. :)

Edit: Kann es daran liegen, dass ich bei den Zahlen 1-9 keine vorangehende 0 stehen habe? Mir ist aufgefallen, dass der Fehler auch bei $von auftritt, aber nur, wenn ich eine Zahl <10 wähle.

Geschrieben
Edit: Kann es daran liegen, dass ich bei den Zahlen 1-9 keine vorangehende 0 stehen habe? Mir ist aufgefallen, dass der Fehler auch bei $von auftritt, aber nur, wenn ich eine Zahl <10 wähle.

yup, daran liegt es... habe gar nicht an sowas gedacht. also musst du nur deinen string entsprechend formatieren und alles sollte wie gewünscht funktionieren.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...