2012-04-12 75 views
0

我在mysql中有一張表,顯示即將發生的事件。如果日期比今天早,或者如果日期是今天,是否可以將css應用於表格單元格或行?我想也許顏色行紅色標識日期比今天更早?如果日期比今天早在php文件中,那麼應用CSS

我的錶行的一個典型例子,其顯示的日期是<td><abbr class="timeago" title="<?php echo $row_rsEventChase['start_date']; ?>"></abbr></td>

任何幫助非常感激..

+2

沒有辦法用純'css'來做。您需要檢查日期並根據它添加js或php中的一些CSS類。 – kirilloid 2012-04-12 08:09:15

回答

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

你好,謝謝你的答案。我確實嘗試過將代碼放置在php標籤的頂部,但無論日期,將來還是過去,都會將該字段留白。當我查看頁面源時,它顯示 ​​2012-04-09 15:00:00 ​​ ​​2012-04-22十時28分00秒 ​​<簡稱類=」 TIMEAGO 「標題= 」2012-04-22十時28分00秒「 樣式=」 顏色:紅色;「> 對不起,不能格式化!難道我做錯了什麼? – gary 2012-04-12 11:10:20

+0

也許你的CSS class timeago有問題。我不知道標籤但嘗試用 testi它並刪除timeago類。只是爲了測試。希望你找出問題所在。 – castor 2012-04-12 11:14:15

+0

您好蓖麻,我在沒有css類的測試頁上運行這個,只是​​完全按照您的建議,無法找出爲什麼它總是選擇紅色,即使有些日期是在將來.. – gary 2012-04-12 12:10:17

3

這樣做:

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

是的,你可以這樣做檢查單元格以便將樣式應用於整行。例如:

<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

嗨,感謝您的輸入,我也試過這個,但是它將每一行都染成紅色,當我將代碼中的'old'換成'new'時,它會改變所有顏色,並將其作爲第一個選項而不是第一個選項檢查日期是否24小時? 再次感謝.. – gary 2012-04-12 11:15:16