2013-05-15 4 views
0

У меня есть отчет, который вычисляет часы работы сотрудников, получая дату, пробивать и выбивать и вычислять продолжительность, эти данные сохраняются в массив, который будет отображаться на основе периода расчета заработной платы, здесь код, который вычисляет платежи на основе еженедельного периода (цикла в пределах массива)PHP-группировка по «bi weekly»

foreach($punch_sets as $val){ 
    if ($currentmonth==""){ 
     echo "<tr><td>" . date("W",strtotime($val['in_date'])) . "</td>"; 
    } 
    if ($currentmonth1 == date("F",strtotime($val['in_date'])) || $currentmonth1 ==""){ 


     if ($currentmonth == date("W",strtotime($val['in_date'])) || $currentmonth==""){ 
       $total_time += $minSec + $hours*3600; 
       $currentmonth = date("W",strtotime($val['in_date'])); 
      } 
     else 
      { 
       echo "<td>" . sec2hm($total_time) . "</td>"; 
       echo "<td>" . (sec2hm($total_time) * $ratepaid) . "</td></tr></tr>"; 

       $currentmonth =""; 
       $total_time = $minSec + $hours*3600; 
      } 
    } 

    else { 
      $total_time = $minSec + $hours*3600; 
     } 
     $currentmonth1 = date("F",strtotime($val['in_date'])); 
} 

вопрос здесь, как мне настроить эту логику, чтобы получить би еженедельный расчет вместо еженедельно.

ответ

0

Вместо использования:

date("W",strtotime($val['in_date'])) 

В группе, группа по:

floor(date("W",strtotime($val['in_date']))/2); 

Вы можете захотеть изменить $currentmonth к $currentperiod, чтобы отразить изменение от первоначального сценария от месяца до еженедельно на теперь раз в две недели.

+0

Отличная идея, спасибо –