2014-05-22 1 views
-2

나는 시작 날짜와 종료 날짜 사이에 날짜가 있는지 확인해야하는 시나리오가 있습니다. 계속 진행할 단어 사이에있는 모든 표 셀 (예 : 계속 아래 그림 참조).다른 콘텐츠가 주어진 표의 날짜 사이

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>"; 
    } 
} 
관련 문제