2014-02-06 67 views
0

我有一個腳本,其中包含一個包含用品日期的表格。現在有很多日期+ - 600.現在我想要做的是高亮所有的日期,從今天直到兩週後,或者如果日期已經過去了。 表看起來像這樣突出顯示所有日期從現在到2周後

現在這些只是幾行。但是,我怎樣才能突出顯示從今天直到兩週後的所有日期,並在過去的日期自動... 我已經allready搜索了很多,唯一我能找到的是highligt之間2日期,但我希望這是自動 - >今天日期 - 2周後(這個更新艾利一天automatticly)

srry我的英語水平,我希望這個問題是清楚的 THX提前

更新的代碼:

<?php 
// get two weeks from now 
$date_in_two_weeks = strtotime('+2 weeks'); 
$date_in_two_weeks = date("Y-m-d",$date_in_two_weeks); 

// get the date to compare, from db or whatever you want 
$date_to_compare = "2014-02-01"; 

// compare the date in your list to now + 2 weeks and then put the date difference into $days_difference 
$date_from_list = new DateTime($date_to_compare); 
$date_in_two_weeks = new DateTime($date_in_two_weeks); 
$days_difference = $date_from_list->diff($date_in_two_weeks); 

if ($days_difference->days > 14) { 
    $highlight_css_class = "highlight"; 
} else { 
    $highlight_css_class = "none"; 
} 
?> 
<style> 
.highlight { 
    color:#cc0000; 
} 
.none { 
} 
</style> 
<fieldset> 
<table class="tablesorter" id="my-table" border="1" style="border-collapse:collapse"> 
     <thead> 
      <tr> 
       <th>REK</th> 
       <th>BESCHRIJVING</th> 
       <th>VERVALDATUM</th> 
      </tr> 
     </thead> 
     <tbody> 


<tr><td>A1</td><td>hamburger</td><td class="<?php echo $highlight_css_class;?>">2014-02-10</td></tr> 

<tr><td>A1</td><td>tomato</td><td class="<?php echo $highlight_css_class;?>">2014-06-10</td></tr> 


     </tbody> 
    </table> 

所以所有的日期現在都有班級亮點,他們都是紅色的......? 我在做什麼錯誤的代碼? 我不明白

+0

你如何顯示錶格,顯示當前表格的一些代碼? –

+0

這個表格就是這樣顯示的,只不過日期是一個變量,比如$ tomato =「2014-01-09」; – Johan

+0

你可以通過'strtotime('+ 2 weeks')' –

回答

1

假設你使用PHP 5.3>,您可以用diff讓你的約會和+2周的一天差異,然後再決定是否對CSS類應用到<td>與否。

例子:

// get two weeks from now 
$date_in_two_weeks = strtotime('+2 weeks'); 
$date_in_two_weeks = date("Y/m/d",$date_in_two_weeks); 

// get the date to compare, from db or whatever you want 
$date_to_compare = "2014/02/01"; 

// compare the date in your list to now + 2 weeks and then put the date difference into $days_difference 
$date_from_list = new DateTime($date_to_compare); 
$date_in_two_weeks = new DateTime($date_in_two_weeks); 
$days_difference = $date_from_list->diff($date_in_two_weeks); 

if ($days_difference->days > 14) { 
    $highlight_css_class = "highlight"; 
} else { 
    $highlight_css_class = ""; 
} 

現在在你的表,應用CSS類的<td>或任何你想要它。

<tr> 
    <td>A1</td> 
    <td>hamburger</td> 
    <td class="<?php echo $highlight_css_class;?>">2014-02-10</td> 
</tr> 

當然在CSS中用你想要的樣式創建.highlight類。

.highlight { 
    background:#e1e1e1; 
} 
+0

這是我需要的。去檢查我是否可以把它工作。 thx – Johan

+0

它不工作,所有的日期得到突出顯示,每個類是「突出顯示」 – Johan

+0

顯示您的完整代碼。 – 2014-02-06 10:50:03

相關問題