|
Фильтр массива
Привет, есть код:
$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, время: 05:21. |
|