php Zeitvergleich
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
date
datei
eingabe
eintrag
erfolgen
ergebnis
grad
insert
klappe
limit
minute
null
order
sekunde
uhr
vergleichen
-
Also ich schreib grad ein art Newsscript,
bei der Eingabe wird das datum in TT.MM.JJJJ eingelesen,
und dann in timestam umgewandelt. Dann werden Tite, dieser timestamp und der Text an eine 2te Datei ?bergeben und diese tr?gt sie dann in die MySql DB ein.
Bei der Ausgabe wird verglichen ob der heutige timestamp gr??er is und wenn das der Fall is wird diese news gar nicht angezeigt.
das Problem ist aber das er auch nichtmehr angezeigt wird wenn die News heute sind.
Eintragen:
$day = 0;
$month = 0;
$year = 0;
$datumie = $HTTP_POST_VARS["datumie"];
list($day, $month, $year) = sscanf($datumie,"%d.%d.%d");
$datum = mktime(0,00,00,$month,$day,$year);
$title = $HTTP_POST_VARS["title"];
$text = $HTTP_POST_VARS["text"];
$name = $HTTP_POST_VARS["name"];
$date = $HTTP_POST_VARS["date"];
$eintrag = "INSERT INTO $table (id, date, title, text, name, datum) VALUES ('', '$date', '$title', '$text', '$name', '$datum')";
$eintragen = mysql_query($eintrag);
Ausgabe:
$abfrage = "SELECT * FROM $table ORDER BY datum LIMIT 18";
$ergebnis = mysql_query($abfrage);
$tage = array("So","Mo","Di","Mi","Do","Fr","Sa");
$akttimest = time();
while($row = mysql_fetch_object($ergebnis))
{
$am = 0;
$bis = 0;
if ($row-> datum < $akttimest)
{ echo "";
}
else {
$bis = 0;
$am = 0;
$am = date("d.m.Y",$row-> date);
$t = date("w",$row-> datum);
$bis = $tage[$t];
$bis .= " ";
$bis .= date("d.m.Y",$row-> datum);
echo "
<table width='70%' border='0' cellspacing='4'>
<tr>
<td width='25%'>
<b> ",$bis,"</b>
</td>
<td width='75%'>
<b> ",$row-> title,"</b>
</td>
</tr>
<tr>
<td> </td>
<td align='justify'>
",$row-> text,"
</td>
</tr>
<tr>
<td> </td>
<td> <font size='-1'> <i> geschrieben am
",$am,"
von:
",$row-> name,"
</i> </font> </td>
</tr>
</table>
<br>
";
}
}
mysql_free_result($ergebnis);
wie kann ichs machen das er mir die noch anzeigt bis der Tag vor?ber ist ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Statt:
...
if ($row-> datum < $akttimest)
{ echo "";
}
...
Besser:
...
if ($akttimest > $row->datum)
{ echo "";
}
... -
Versteh nicht wieso des klappen sollte, is ja nur die inverse operation der vorhandenen oder?
naja ich pobiers ....
?: ohne erfolg. -
Hoppla!
Du hast recht!
Ich habe mir deinen Post nochmal genau durchgelesen. Das Problem ist, wie du den heutigen Timestamp ermittelst:
time() gibt einen Timestamp zur?ck, der auch die Stunden, Minuten und Sekunden enth?lt. Beim Timestamp, den du in die Datenbank schreibst, sind diese Werte auf Null gesetzt. Daher wird bei einem Vergleich der aktuelle Timestamp mit time() immer gr??er sein als der Timestamp einer Datei von heute um 0.00 Uhr.
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage