2014-05-22 38 views
-2

我有一个场景,我需要查看日期是否在开始日期和结束日期之间,然后在这些日期之间的每个表格单元格中,我需要填充单词(如continue)(例如见下图)。给定不同内容的日期之间的日期

Current table layout

从数据库中提取的数据,然后进行比较的开始日期和结束日期针对阵列日期我能够填充一个表像上述图像的。当我尝试在循环之间向细胞添加信息时,并发症开始出现。

我用:

if(date("Y-m-d", strtotime($test->range[$i])) > $data['sData'] && date("Y-m-d", strtotime($test->range[$i])) > $data['eData']){ 
    echo "<td class='col-md-6'>Continue</td>"; 
} 

然而,这并不能提供输出我是后。

我当前的代码是:

$all = $db->prepare("SELECT * FROM `assignment` WHERE user_id = $user ORDER BY `sDate` ASC"); 
$all->execute(); 
$rows = $all->fetchAll(PDO::FETCH_ASSOC); 


echo "<table class='table table-hover'><tr><td></td>"; 
for($i = 0; $i < count($test->range); $i++){ 

    echo "<td class='col-md-6'>" . date("d-m-Y", strtotime($test->range[$i])) . "</td>"; 

} 

echo "</tr>"; 

foreach($rows as $data){ 
    echo "<tr><td>" . $data['name'] . "</td>"; 
    for($i = 0; $i < count($test->range); $i++){ 
     if($data['sDate'] === date("Y-m-d", strtotime($test->range[$i]))){ 
      echo "<td class='col-md-6'>Start</td>"; 
     } 
     if(date("Y-m-d", strtotime($test->range[$i])) > $data['sData'] && date("Y-m-d", strtotime($test->range[$i])) > $data['eData']){ 
      echo "<td class='col-md-6'>Continue</td>"; 
     } 

     if($data['eDate'] === date("Y-m-d", strtotime($test->range[$i]))){ 
      echo "<td class='col-md-6'>End</td>"; 
     } 
     echo "<td class='col-md-6'></td>"; 
    } 
} 

echo "</table>" 

我如何填写开始之间的表格单元格,并与字结尾继续?

回答

1

只需使用一个辅助变量?

foreach($rows as $data){ 
    echo "<tr><td>" . $data['name'] . "</td>"; 
    $started = false; 
    for($i = 0; $i < count($test->range); $i++){ 
     if($data['sDate'] === date("Y-m-d", strtotime($test->range[$i]))){ 
      echo "<td class='col-md-6'>Start</td>"; 
      $started = true; 
     } 

     if($data['eDate'] === date("Y-m-d", strtotime($test->range[$i]))){ 
      echo "<td class='col-md-6'>End</td>"; 
      $started = false; 
     } 

     if($started){ 
      echo "<td class='col-md-6'>Continue</td>"; 
     } 
     echo "<td class='col-md-6'></td>"; 
    } 
} 
相关问题