[erledigt] if Abfrage mit strtotime

Bash, Shell, PHP, Python, Perl, CGI
fulltilt
Posts: 363
Joined: 2006-08-27 02:06

[erledigt] if Abfrage mit strtotime

Post by fulltilt »

ich möchte mir gerne eine Abfrage erstellen wo ein Datum was zuletzt geändert (update) erfolgt ist farblich markiert wird.
Also z.B. innerhalb der letzten 7 Stunden, rot markieren.

Code: Select all

$basedate = $myrow["date"];
$date1 = strtotime("-7hours", $basedate);

if (($basedate = strtotime($date1)) === true) {
   echo "<td><font color=#FF0000>$basedate</font></td>";
}else{
echo "<td>$basedate</td>";
was mache ich bei der Abfrage falsch?
Last edited by fulltilt on 2009-02-18 13:58, edited 1 time in total.
krackman
Posts: 20
Joined: 2004-04-09 04:31
Location: Bremen

Re: if Abfrage mit strtotime

Post by krackman »

hier sollte ein

Code: Select all

if($basedate == strtotime($date1))
{}
else
{}
reichen. müsste aber sekundengenau sein.

Du kannst natürlich auch mit time() arbeiten.

Code: Select all

if(($basedate + 7*60*60)  > time())
{
    echo "Letzte Änderung ist länger als 7h her";
}
else
{
   echo "Letzte Änderung ist kürzer als 7h her";
} 
Eventuell muss du das auch umdrehen, je nachdem was genau in
dem Datumsfeld der DB steht.
Last edited by krackman on 2009-02-18 13:41, edited 1 time in total.
fulltilt
Posts: 363
Joined: 2006-08-27 02:06

Re: if Abfrage mit strtotime

Post by fulltilt »

matzewe01 wrote: Wobei ich eher auf > abfragen würde bzw. ein between statt ein "Datetime" auf ein Datum matchen, dass sekundengenau stimmen müsste. ;-)
Und im If war ein = zuviel === -> ein = zuviel. Oder täusche ich mich da?
Danke Dir,
bin das ganze nochmal neu angegangen, das Problem dabei ist wahrscheinlich das Format des Datums (kein timestamp).

so ist es abgespeichert > 18.02.2009 - 11:57:31
habe jetzt mal folgendes gemacht:

Code: Select all

$basedate = $myrow["timestamp"];

if (time() - 60 * 60 * 24 * 1 < $basedate){
   $font = "<font color=#FF0000>";
}else{
   $font = "<font color=#000000>";
} 

   echo "<td>$font";
   echo "$basedate</font></td>";
bleibt allerdings alles schwarz, keine Veränderung ...
krackman
Posts: 20
Joined: 2004-04-09 04:31
Location: Bremen

Re: if Abfrage mit strtotime

Post by krackman »

Code: Select all

$date = str_replace(" - ", "", $myrow['timestamp']);
$ts = strtotime($date);

if(time() > ($ts + 7 *3600))
{
    echo "länger als 7h her";
}
else
{
  echo "kürzer als 7h her";
}
Geht bestimmt auch noch schöner, fällt mir nur gerade nicht ein.
fulltilt
Posts: 363
Joined: 2006-08-27 02:06

Re: if Abfrage mit strtotime

Post by fulltilt »

Perfekt :-)
Danke Euch
Krackman wrote:

Code: Select all

$date = str_replace(" - ", "", $myrow['timestamp']);
$ts = strtotime($date);

if(time() > ($ts + 7 *3600))
{
    echo "länger als 7h her";
}
else
{
   "kürzer als 7h her";
}
Geht bestimmt auch noch schöner, fällt mir nur gerade nicht ein.