Jump to content
Sign in to follow this  
evgeny8778

Запрос к базе

Recommended Posts

Здравствуйте!

 

Помогите пожалуйста правильно составить запрос.

Суть: Для клиентов магазина, находящихся в группе "постоянный покупатель" предусмотрена определённая скидка. Для попадания в эту группу, обычному покупателю необходимо совершить покупки на сумму 10 000 руб. Нужно чтобы этот обычный клиент у себя в кабинете видел, на какую сумму ему необходимо совершить покупки чтобы попасть в группу "постоянный покупатель".

 

 Я нашёл функцию



public function getTotalOrders() {
      	$query = $this->db->query("SELECT SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'");
		
		return $query->row['total'];
	}

Она выводит общую стоимость совершённых покупателем заказов.

добавив после SELECT 10000 -  я получил:



public function getTotalOrders() {
      	$query = $this->db->query("SELECT 10000 - SUM(total) AS total FROM `" . DB_PREFIX . "order` WHERE customer_id = '" . (int)$this->customer->getId() . "' AND order_status_id > '0'");
		
		return $query->row['total'];
	}

то есть из 10 000 вычитается итоговая сумма заказов. Естественно после того, как стоимость заказов переваливает за 10 000 покупатель видит отрицательное число.

 

Помогите составить запрос так, чтобы после того, как стоимость заказов пройдёт отметку 10 000, покупатель в кабинете вместо отрицательного числа видел 0р.  Либо, чтобы после перевода покупателя в группу "Постоянный покупатель" для него подобная запись не отображалась.

 

Share this post


Link to post
Share on other sites

Интересная задачка.

Укажите какой движок вы используете? А пока вот мое решение:

-- в селекте укажите
SELECT IF(10000 < SUM(total), 0, SUM(total)) AS total

Может решение не оптимальное, но хотя бы попробовать

  • +1 1

Share this post


Link to post
Share on other sites

Версия Opencart 1.5.1.3 

Да работает, спасибо большое. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.