Я застрял на этом и обратился за помощью. Я считаю, что мне нужно добавить дополнительный цикл или счетчик, я просто не знаю, когда и где :)Добавление промежуточного цикла foreach PHP
Я пытаюсь выполнить промежуточный итог наличных денег, CC и общий для каждого employeeid.
foreach ($weekly as $week){
$week_array = getStartAndEndDate($week['week'],$week['year']);
if(isset($week['employeeid'])){
echo "<TR>";
if($week['employeeid']!=$tmpEmp){
echo "<TD colspan='5'><strong>".$week['employeeid']."</strong></TD></TR>
<TR><TD>".$week_array['week_start']."</TD>";
$tmpEmp = $week['employeeid'];
}
else {
echo "<TD>".$week_array['week_start']."</TD>";
$tmpEmp = $week['employeeid'];
}
echo
"<TD>".$week['CC']."</TD>
<TD>".$week['Cash']."</TD>
<TD>".$week['total']."</TD>
<TD><a href=employee.php?week=".$week['week']."&year=".$week['year'].">Report</a></TD>
</TR>";
$tmpCC += $week['CC'];
$tmpCash += $week['Cash'];
$tmpTotal += $week['total'];
}
}
echo "<TR><TD><strong>Group Total</strong></TD>
<TD>".$tmpCC."</TD>
<TD>".$tmpCash."</TD>
<TD>".$tmpTotal."</TD>
<TD></TD>
</TR>
</TABLE><HR />";
--- Текущий РЕЗУЛЬТАТ ---
Employee CC Cash Total View Report
1
2014-10-20 0.00 271.61 271.61 Report
2
2014-10-06 75.38 0.00 75.38 Report
2014-10-13 0.00 472.66 472.66 Report
4
2014-09-29 219.39 0.00 219.39 Report
5
2014-09-29 0.00 464.40 464.40 Report
2014-10-20 390.37 0.00 390.37 Report
Group Total 685.14 1208.67 1893.81
--- Wanted РЕЗУЛЬТАТ ---
Employee CC Cash Total View Report
1
2014-10-20 0.00 271.61 271.61 Report
Subtotal XX XX XX
2
2014-10-06 75.38 0.00 75.38 Report
2014-10-13 0.00 472.66 472.66 Report
Subtotal XX XX XX
4
2014-09-29 219.39 0.00 219.39 Report
Subtotal XX XX XX
5
2014-09-29 0.00 464.40 464.40 Report
2014-10-20 390.37 0.00 390.37 Report
Subtotal XX XX XX
Group Total 685.14 1208.67 1893.81
Спасибо за Ваш ответ, но это не успокоит то, что я ищу для. Результаты показывают промежуточный итог на самой первой строке и не являются промежуточным итогом для последнего сотрудника. --Result-- http://postimg.org/image/5g3xn7txh/ – elit3x
Заявление я включил ('если ($ tmpEmp)') пытается исключить случай, когда он пытается напечатать строку на очень первая строка, но я не знаю значения '$ tmpEmp' до начала цикла. Он должен быть установлен как ложный или по крайней мере что-то ложный. Последняя строка была ошибкой с моей стороны, вам нужно будет включить следующее после цикла, но перед тем, как вы эхо сгруппированных итогов: 'echo '