Перейти к содержанию
evgeny8778

Запрос к базе

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

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

 

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

Суть: Для клиентов магазина, находящихся в группе "постоянный покупатель" предусмотрена определённая скидка. Для попадания в эту группу, обычному покупателю необходимо совершить покупки на сумму 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р.  Либо, чтобы после перевода покупателя в группу "Постоянный покупатель" для него подобная запись не отображалась.

 

Поделиться сообщением


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

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

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

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

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

  • +1 1

Поделиться сообщением


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

Версия Opencart 1.5.1.3 

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.