设置数据范围php

时间:2011-10-28 15:58:49

标签: php

我有一个列表,列表中列出了一些日期,因此,我的数据库结果如下:

$day   = $res->fields['DAY'];

$month = $res->fields['MONTH'];

$year  = $res->fields['YEAR'];

我把它们放在一起形成一个有效的日期

// put together the date
$date    = $res->fields['DAY']."/".$res->fields['MONTH']."/".$res->fields['YEAR'];     

// get the present day
$today   = date('d/m/Y');  // 28/10/2011

我检查:

if($date == $today){
   $backGroundTr = "red";
}

<tr>背景设置为红色。

html是这样的:

<tr bgcolor="green">
   <td>31/10/2011</td>
</tr>
<tr bgcolor="green">
   <td>30/10/2011</td>
</tr>
<tr bgcolor="green">
   <td>29/10/2011</td>
</tr>
<tr bgcolor="red"> // this reciave the red bgcolor because is today
   <td>28/10/2011</td>
</tr>

现在,我要做的是:

如何在接下来的3天内设置其他颜色?正如你在示例中看到的那样,我把绿色。

不知道我是否清楚,任何问题,请成为我的客人

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题

if($date == date('d/m/Y',strtotime('+1 day')) ||
    $date == date('d/m/Y',strtotime('+2 day')) ||
    $date == date('d/m/Y',strtotime('+3 day'))){
   $backGroundTr = "green";
}

或者你可以这样做:(我假设你在你的日子里徘徊)(这个解决方案不会按照相反的顺序打印天数)

$green=0;
while ( ... ){
  ...
  if($date == $today){
    $backGroundTr = "red";
    $green=3;
  }
  if ($green>0)
  {
    $backGroundTr = "green";
    $green--;
  }
  ...
}

或者你可以这样做:

if(strtotime($date) > strtotime($today) && 
  strtotime($date) <= strtotime('+3 days',$today)
{
  $backGroundTr = "green";
}