2012-04-12 2 views
0

Ich habe eine Tabelle in PHP von mysql gefüttert, die bevorstehende Ereignisse anzeigt. Wäre es möglich, css auf eine Tabellenzelle oder Zeile anzuwenden, wenn das Datum älter ist als heute oder vielleicht, wenn das Datum heute ist? Ich möchte vielleicht die Zeile rot ID-Datum ist älter als heute?Anwenden von CSS, wenn das Datum älter als heute in PHP-Datei

Ein typisches Beispiel für meine Tabellenzeile, die die Daten anzeigt, ist <td><abbr class="timeago" title="<?php echo $row_rsEventChase['start_date']; ?>"></abbr></td>

Jede Hilfe sehr geschätzt ..

+2

Es gibt keine Möglichkeit, es mit reinem 'css' zu tun. Sie müssen das Datum überprüfen und abhängig davon einige CSS-Klassen in js oder php hinzufügen. – kirilloid

Antwort

2
$isOlderThanDay = (time() - $row_rsEventChase['start_date'] > 86400) ? true : false; 
if ($isOlderThanDay) { 
    $css = "color: red;"; 
} else { 
    $css = ""; 
} 

<td><abbr class="timeago" title="<?php echo $row_rsEventChase['start_date']; ?>" style="<?php echo $css; ?>"></abbr></td> 
+0

Hallo, danke für die Antwort. Ich habe versucht, den Code oben auf der Seite in PHP-Tags zu setzen, aber was auch immer das Datum, Zukunft oder Vergangenheit es das Feld weiß. Wenn ich auf der Seite Quelle aussehen zeigt es 2012-04-09 15:00:00 2012-04-22 10:28:00 Sorry kann das nicht formatieren! Mache ich etwas falsch? – gary

+0

vielleicht haben Sie etwas falsch in Ihrer CSS-Klasse timeago. Ich weiß nicht, Tag , aber versuchen Sie es mit tesi es und entfernen Sie die Timeago-Klasse. nur für den Test. hoffe du findest heraus was falsch ist. – castor

+0

Hallo Castor, ich lief dies auf einer Testseite ohne CSS-Klasse, nur genau wie Ihr Vorschlag, kann nicht herausfinden, warum es immer rot wählt, obwohl einige Termine in der Zukunft sind .. – gary

3

Dies tun:

<td><abbr class="<?php echo ($row_rsEventChase['start_date'] <= (time() - 86400)) ? "old" : "new"; ?>" title="<?php echo $row_rsEventChase['start_date']; ?>"></abbr></td> 
0

Ja Sie das tun könnte Auschecken der Zelle, um den Stil auf die ganze Zeile anzuwenden. Zum Beispiel:

<style> 
tr.new td { 
background: #FFC; 
} 
tr.old td { 
background: #eee; 
} 
<style> 
<tr class="<?php echo ($row_rsEventChase['start_date'] <= (time() - 86400)) ? "old" : "new"; ?>"> 
    <td>....</td> 
</tr> 
+0

Hallo, vielen Dank für Ihre Eingabe, ich habe es auch versucht, aber es färbte jede Zeile rot, wenn ich das "alte": "neue" um im Code änderte, änderte es dann alle Farben, seesm nimmt alles als die erste Option und nicht Datum prüfen, um zu sehen, ob es 24 Stunden alt ist? Danke nochmal .. – gary

Verwandte Themen