|
Фильтр массива
Привет, есть код:
$i = 1; foreach ($data as $employeeid => $rows) { sort($rows); foreach ($rows as $row) { echo $i++.'. '; echo $row['Tool1Identifier'].' '; echo $row['Tool2Identifier'].'<br>'; } } Он показывает следующее: ![]() Если в двух словах, то человек работает с двумя позициями. На одной позиции один номер или пусто. Нужно подсчитать каждую замену номера на позиции. Типа вот так: ![]() Всего: 6 |
Цитата:
|
![]() |
Откуда эти данные и как они связаны?
|
И каким боком тут раздел "Элементы интерфейса"? :blink:
|
Sav2907,
не легче ... что это за данные (массив?) и что такое замена позиции? Цитата:
|
рони,
Массив. 1-13 номер заказа. 1 заказ: заказ делался одним номером (257). 2 заказ: 257 и 258 3 тем и другим Результат: 1 заказ одна замена 2 заказ одна замена 3 ни одной |
Sav2907,
откуда эти данные, где хранятся? |
laimas,
выборка из БД. Полный код: <?php $shiftStart = new DateTime('2016-12-27 06:00:00'); $shiftEnd = new DateTime('2016-12-27 12:00:00'); $server = qqG3Server_Init('SEUA_SAV', 90); if (!qqG3Server_Connected($server)) die('Can\'t connect to SEUA_SAV'); $clip = qqG3Server_NewClip($server, 'SDA', 0); $view = qqG3Clip_NewView($clip, 0); qqG3View_BeginAND($view); qqG3View_Long($view, 10, 0, 'ActWorkStation', 1); qqG3View_Long($view, 9, 0, 'ActWorkStation', 50); qqG3View_Utime($view, 9, 0, 'ActualStartCaoDtZt', $shiftEnd->format('U')); qqG3View_Utime($view, 9, 0, 'ActualEndCaoDtZt', $shiftEnd->format('U')); qqG3View_Long($view, 5, 0, 'PersonnelNo', 601); qqG3View_BeginOR($view); qqG3View_Utime($view, 10, 0, 'ActualStartCaoDtZt', $shiftStart->format('U')); qqG3View_Utime($view, 10, 0, 'ActualEndCaoDtZt', $shiftStart->format('U')); qqG3View_End($view); qqG3View_End($view); qqG3View_BeginFetch($view); if (qqG3View_Count($view) > 0) { $data = array(); while ($tuple = qqG3View_Fetch($view)) { $employeeid = qqG3Tuple_GetLong($tuple, 0, 'PersonnelNo'); if (!array_key_exists($employeeid, $data)) $data[$employeeid] = array(); array_push($data[$employeeid], array( 'ActualStartCaoDtZt' => date('Y-m-d H:i:s', qqG3Tuple_GetUtime($tuple, 0, 'ActualStartCaoDtZt')), 'ActualEndCaoDtZt' => date('Y-m-d H:i:s', qqG3Tuple_GetUtime($tuple, 0, 'ActualEndCaoDtZt')), 'Tool1Identifier' => qqG3Tuple_GetString($tuple, 0, 'Tool1Identifier'), 'Tool2Identifier' => qqG3Tuple_GetString($tuple, 0, 'Tool2Identifier') )); } sort($data); $i = 1; foreach ($data as $employeeid => $rows) { sort($rows); foreach ($rows as $row) { echo $i++.'. '; echo $row['Tool1Identifier'].' '; echo $row['Tool2Identifier'].'<br>'; } } } qqG3View_EndFetch($view); qqG3View_Destroy($view); qqG3Clip_Destroy($clip); qqG3Server_Destroy($server); ?> |
Я не знаю такого sql-сервера, но если в нем данные описаны по уму, имеют связи, то все что вы пытаетесь получить, получают в рамках sql-запроса.
|
Часовой пояс GMT +3, время: 22:43. |
|