Seite 1 von 1

Datetime Werte mittels php vergleichen

Verfasst: 02.04.2007, 16:05
von pvdb
Hi,

in meiner datenbank habe ich 3 felder, die mir grad probleme machen. ein feld ist für ein kommentar und zwei weitere felder sind vom typ datetime und geben an, in welchen zeitraum das kommentar angezeigt werden soll.

hier mein code:

Code: Alles auswählen

// werte einlesen
$comment_start = $row_get_articles['comment_start'];
$comment_stop = $row_get_articles['comment_stop'];

// datum von heute als datetime erstellen
$comment_now = date("Y-m-d H:m:s");
$delivery_comment = "";
				  
// wenn kein kommentar vorhanden ist, bestehen die datetime nur aus nullen, dies abfangen
if ($comment_start != "0000-00-00 00:00:00" && $comment_stop != "0000-00-00 00:00:00")
{
   // abfragen ob die aktuelle zeit zwischen den comment_start und stop liegt
   if &#40;$comment_now > $comment_start && $comment_now < $comment_stop&#41;
      $delivery_comment = $row_get_articles&#91;'delivery_comment'&#93;;
&#125;
entweder hat $delivery_comment nun einen wert oder nicht.

leider geht dies nicht, obwohl er einen haben sollte, hat er keinen. irgendwie muss die überprüfung falsch sein.

hat da jemand eine idee?

Phil[/code]

Verfasst:
von

Verfasst: 02.04.2007, 16:33
von chrizz
mach mal da noch klammern rum:
if ($comment_now > $comment_start && $comment_now < $comment_stop){
$delivery_comment = $row_get_articles['delivery_comment'];
}

Verfasst: 02.04.2007, 16:38
von net(t)worker
solltest dort einfach mit nem unix timestamp arbeiten, macht einen vergleich wesentlich einfacher....

Verfasst: 02.04.2007, 16:41
von pvdb
okay, dann versuche ich mal ein strtotime damit einzubauen ;)

Verfasst: 02.04.2007, 16:45
von pvdb
cool, mit strtotime hats geklappt

@chrizz

wenn nach der if anweisung nur eine zeile folgt, bzw. ein command, dann braucht man keine klammern ;)

Verfasst: 02.04.2007, 16:48
von chrizz
hm. dann wäre mein zweiter vorschlag das mit dem unix timestamp gewesen....
aber nun gut. problem gelöst. reicht ja vollkommen aus.
cheers

Verfasst: 02.04.2007, 17:47
von Southmedia
wenn nach der if anweisung nur eine zeile folgt, bzw. ein command, dann braucht man keine klammern
Aber dann für jede Minute die du länger braucsht wenn du dann doch mal ne zweite Zeile hinzufügst und den Fehler ewig suchen musst bitte 5€ in die Kaffeekasse :P

Verfasst: 03.04.2007, 06:33
von pvdb
Kann mich nicht daran erinnern in den letzten 12 Jahren dadurch ein Problem erzeugt zu haben, dass ich im if - else ohne geschweifte Klammern zwei Zeilen hatte ;)

Meistens setze ich diese ja. Die Kaffekasse wäre in diesem Falle dann leer :lol:

Sind er fehlende $ zeichen oder versteckte sonderzeichen die einen korrekten nicht ausführen lassen.

phil