Перейти к содержанию
Официальный форум поддержки Simpla

Как посчитать сколько товаров в цикле foreach


Рекомендуемые сообщения

Всем здравствуйте.

 

Есть вот такой цикл, в файле обмена с 1с, он выводит товары из заказов.

Как можно посчитать кол-во товаров в заказе и вывести число?

 

	foreach($xml_order->Товары->Товар as $xml_product)
		{
			$purchase = null;
			//  Id товара и варианта (если есть) по 1С
			$product_1c_id = $variant_1c_id = '';
			@list($product_1c_id, $variant_1c_id) = explode('#', $xml_product->Ид);
			if(empty($product_1c_id))
				$product_1c_id = '';
			if(empty($variant_1c_id))
				$variant_1c_id = '';
				
			// Ищем товар
			$simpla->db->query('SELECT id FROM __products WHERE external_id=?', $product_1c_id);
			$product_id = $simpla->db->result('id');
			$simpla->db->query('SELECT id FROM __variants WHERE external_id=? AND product_id=?', $variant_1c_id, $product_id);
			$variant_id = $simpla->db->result('id');
				
			$purchase = new stdClass;		
			$purchase->order_id = $order->id;
			$purchase->product_id = $product_id;
			$purchase->variant_id = $variant_id;
			
			$purchase->sku = $xml_product->Артикул;			
			$purchase->product_name = $xml_product->Наименование;
			$purchase->amount = $xml_product->Количество;
			$purchase->price = floatval($xml_product->ЦенаЗаЕдиницу);
			
			if(isset($xml_product->Скидки->Скидка))
			{
				$discount = $xml_product->Скидки->Скидка->Процент;
				$purchase->price = $purchase->price*(100-$discount)/100;
			}
			
			$simpla->db->query('SELECT id FROM __purchases WHERE order_id=? AND product_id=? AND variant_id=?', $order->id, $product_id, $variant_id);
			$purchase_id = $simpla->db->result('id');
			if(!empty($purchase_id))
				$purchase_id = $simpla->orders->update_purchase($purchase_id, $purchase);
			else
				$purchase_id = $simpla->orders->add_purchase($purchase);
			$purchases_ids[] = $purchase_id;
		}

 

 

Ссылка на сообщение
Поделиться на другие сайты

Разобрался, можно закрывать.



Перед foreach $counter = 0; 

В конце foreach (внутри)   $counter++;

Далее выводим в любое место переменную $counter

Ссылка на сообщение
Поделиться на другие сайты

Разобрался, можно закрывать.

 

Перед foreach $counter = 0; 

В конце foreach (внутри)   $counter++;

Далее выводим в любое место переменную $counter

 

можно просто count($xml_order->Товары->Товар); 

без циклов

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...