Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2017, 11:06
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Фильтр массива
Привет, есть код:
$i = 1;
		foreach ($data as $employeeid => $rows) {
		sort($rows);
			foreach ($rows as $row) {
				echo $i++.'. ';
				echo $row['Tool1Identifier'].' ';
				echo $row['Tool2Identifier'].'<br>';
			}
			
		}


Он показывает следующее:



Если в двух словах, то человек работает с двумя позициями. На одной позиции один номер или пусто. Нужно подсчитать каждую замену номера на позиции. Типа вот так:



Всего: 6
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2017, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Сообщение от Sav2907
Если в двух словах, то человек работает с двумя позициями. На одной позиции один номер или пусто. Нужно подсчитать каждую замену номера на позиции. Типа вот так:
подожду переводчика ...
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2017, 11:22
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Ответить с цитированием
  #4 (permalink)  
Старый 05.01.2017, 11:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Откуда эти данные и как они связаны?
Ответить с цитированием
  #5 (permalink)  
Старый 05.01.2017, 11:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,232

И каким боком тут раздел "Элементы интерфейса"?
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2017, 12:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Sav2907,
не легче ... что это за данные (массив?) и что такое замена позиции?
Сообщение от laimas
как они связаны?
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2017, 12:42
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

рони,
Массив.
1-13 номер заказа.
1 заказ: заказ делался одним номером (257).
2 заказ: 257 и 258
3 тем и другим

Результат:
1 заказ одна замена
2 заказ одна замена
3 ни одной

Последний раз редактировалось Sav2907, 05.01.2017 в 12:46.
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2017, 12:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Sav2907,
откуда эти данные, где хранятся?
Ответить с цитированием
  #9 (permalink)  
Старый 05.01.2017, 12:50
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

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);
?>

Последний раз редактировалось Sav2907, 05.01.2017 в 12:52.
Ответить с цитированием
  #10 (permalink)  
Старый 05.01.2017, 12:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Я не знаю такого sql-сервера, но если в нем данные описаны по уму, имеют связи, то все что вы пытаетесь получить, получают в рамках sql-запроса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Ввод диапазона значений массива с клавиатуры Воскобоенко Общие вопросы Javascript 11 06.06.2015 22:34
Фильтр таблицы. Как удалить элемент из массива? leshiple Общие вопросы Javascript 29 13.12.2014 11:19
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Перебор массива - вложенный цикл SWin Общие вопросы Javascript 35 27.12.2013 05:06