Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вопрос по запросу


kuripka2222

Recommended Posts

Здравствуйте, можно ли отфильтровать данные с базы данных по месяцам, а не за последних 30 дней, то есть: январь, февраль, март и тд? 

Надіслати
Поділитися на інших сайтах


8 минут назад, kuripka2222 сказал:

Здравствуйте, можно ли отфильтровать данные с базы данных по месяцам, а не за последних 30 дней, то есть: январь, февраль, март и тд? 

а что за данные ?

Надіслати
Поділитися на інших сайтах


17 минут назад, kuripka2222 сказал:

Здравствуйте, можно ли отфильтровать данные с базы данных по месяцам, а не за последних 30 дней, то есть: январь, февраль, март и тд? 

Можно. Функция month() в помощь.

Надіслати
Поділитися на інших сайтах


1 час назад, Shureg сказал:

Можно. Функция month() в помощь.

month() + year()

Надіслати
Поділитися на інших сайтах

6 часов назад, Shureg сказал:

Можно. Функция month() в помощь.

 

5 часов назад, SooR сказал:

month() + year()



В целом так и пошел. Спасибо!

У меня еще вопрос) 
У меня есть закупочная цена, мне надо посчитать прибыль, то есть от выручки (первая функция getTotalOrdersByMonth) отнять себестоимость (вторая функция getTotalOrdersMpnMonth) и получить прибыль. Каким способом можно это сделать?  Мне надо просто получить саму прибыль также учитывая день месяца и после занести уже в график ( на скриншоте)

public function getTotalOrdersByMonth() {
		$implode = array();

		foreach ($this->config->get('config_complete_status') as $order_status_id) {
			$implode[] = "'" . (int)$order_status_id . "'";
		}
 
		$order_data = array();

		for ($i = 1; $i <= date('t'); $i++) {
			$date = date('Y') . '-' . date('m') . '-' . $i;

			$order_data[date('j', strtotime($date))] = array(
				'day'   => date('d', strtotime($date)),
				'total' => 0
			);
		}

		$query = $this->db->query("SELECT SUM(total) AS total, date_added FROM `" . DB_PREFIX . "order` WHERE order_status_id IN(" . implode(",", $implode) . ") AND DATE(date_added) >= '" . $this->db->escape(date('Y') . '-' . date('m') . '-1') . "' GROUP BY DATE(date_added)");
	
		foreach ($query->rows as $result) {
			$order_data[date('j', strtotime($result['date_added']))] = array(
				'day'   => date('d', strtotime($result['date_added'])),
				'date_added' => $result['date_added'],
				'total' => $result['total']
			);
		}

		return $order_data;
	}
	
	public function getTotalOrdersMpnMonth() {
		$implode = array();

		foreach ($this->config->get('config_complete_status') as $order_status_id) {
			$implode[] = "'" . (int)$order_status_id . "'";
		}
 
		$order_data = array();

		for ($i = 1; $i <= date('t'); $i++) {
			$date = date('Y') . '-' . date('m') . '-' . $i;

			$order_data[date('j', strtotime($date))] = array(
				'day'   => date('d', strtotime($date)),
				'mpn' => 0
			);
		}

		$query = $this->db->query("SELECT SUM(mpn) AS mpn, date_added FROM `" . DB_PREFIX . "order` WHERE order_status_id IN(" . implode(",", $implode) . ") AND DATE(date_added) >= '" . $this->db->escape(date('Y') . '-' . date('m') . '-1') . "' GROUP BY DATE(date_added)");
	
		foreach ($query->rows as $result) {
			$order_data[date('j', strtotime($result['date_added']))] = array(
				'day'   => date('d', strtotime($result['date_added'])),
				'date_added' => $result['date_added'],
				'mpn' => $result['mpn']
			);
		}

		return $order_data;
	}

 

download.jpg

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.