i have trouble with looping fputcsv, I get just the last row of my opened packing.csv file. What do you think i'am doing wrong ? I think the fputcsv is in the while loop or im wrong ?
$row = 1;
if (($handle = fopen("packing.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$empWroked = $data[Name];
$dateWroked = $data[Dated];
$startTime = $data[Start];
$endTime = $data[Finish];
$itemPacked = $data[Item];
$nameEmp = $data[Employee];
$startParts = explode(":", $startTime);
$endParts = explode(":", $endTime);
$startMinute = (int)$startParts[1];
$startHour = (int)$startParts[0];
$endMinute = (int)$endParts[1];
$endHour = (int)$endParts[0];
$differenceHour = ($endHour - $startHour);
$differenceMinute = ($endMinute - $startMinute);
$differenceHour -= (($differenceMinute < 0) ? 1 : 0);
if ($differenceMinute < 0)
$differenceMinute += 60;
$difference = $differenceHour * 60 + $differenceMinute;
if (!isset($sumArray1[$nameEmp])) {
$sumArray1[$nameEmp] = 0; // create new entry for nameEmp with balance=0
}
if (!isset($sumArray[$nameEmp])) {
$sumArray[$nameEmp] = 0; // create new entry for nameEmp with balance=0
}
$dataEff = [$empWroked , $itemPacked , round(($perMin * $sumArray[$nameEmp] += $itemPacked ) / ($sumArray1[$nameEmp] += $difference / $precentEff), 2)];
$out = fopen('packingresults.csv', 'w');
fputcsv($out, $dataEff , ',', ' ');
}
fclose($handle);
fclose($out);
}