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

[Решено] Проблема с запросом к MySQL

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

Всем привет! Надеюсь мне сможет кто-нибудь помочь :)

имеется OpenCart 2.3.0.2, после небольших переделок "кредита магазина" из него перестала вычитаться стоимость доставки. 

Ну не беда, подумал я... добавил в код несколько строк:

class ModelExtensionTotalSubTotal extends Model {


				public function confirm($order_info, $order_total) {
					$this->load->language('extension/total/credit');
	
			            	$shipping_cost = $this->db->query("SELECT value FROM " . DB_PREFIX . "order_total WHERE code = 'shipping' AND order_id = '" . (int)$order_info['order_id'] . "'");

					if ($order_info['customer_id']) {
						$order_total['value'] = (($order_total['value'] * -1) - $shipping_cost );
						
						$debug_info = print_r($order_info, true);
						$debug_total = print_r($order_total, true);
						//mail("xo***o@ya***x.ru", "debug order", 'info: '.$debug_info.' totla: '.$debug_total);
						
						
						if($order_info['total'] > 0) {
							$order_total['value'] = (($order_total['value'] * -1) - $order_info['total']) * -1;
						}
						
						$this->db->query("INSERT INTO " . DB_PREFIX . "customer_transaction SET customer_id = '" . (int)$order_info['customer_id'] . "', order_id = '" . (int)$order_info['order_id'] . "', description = '" . $this->db->escape(sprintf($this->language->get('text_order_id'), (int)$order_info['order_id'])) . "', amount = '" . (float)$order_total['value'] . "', date_added = NOW()");
					}
				}

При выполнении этого кода вместо стоимости доставки он вычитает просто 1.

Как я понимаю, MySQL не находит строку. Что в запросе не так? Помогите, пожалуйста :)

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


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

$shipping_cost = $this->db->query("SELECT value FROM " . DB_PREFIX . "order_total WHERE code = 'shipping' AND order_id = '" . (int)$order_info['order_id'] . "'")->row['value'];

  • +1 1

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


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

спасибо большое, только хотел отписать, что нашел проблему :) видимо голова совсем уже не варит)

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


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

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

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

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

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

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

Войти

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

Войти

  • Похожий контент

    • От Bistore
      Добрый день помогите выбрать добить модуль личных количественных скидок на каждого пользователя отдельно в ограниченном виде!
      Получается
      1) Можно сравнить количество скидок на товар и количество купленных товаров пользователей(только авторизованные будут) сравнивая по айди товара и купленого товара минусовать количество скидок от купленного товара и выводить есть ли скидочный товар или же нет( или какое количество осталось).
       
      2) Я вывел sql  запросом уже в пользователе количество скидочных товаров минус количество купленного товара по айди ----- и теперь нужно по айди сравнить купленный товар и товар связать и по полю kolichestvo которое получилось в пользователе смотреть Kol=>0 ? или меньше и тд  
      Как лучше сделать?
      Как связать купленный товар(этим пользователем)  и товар на сайте?
      В файле который добавил в этот вопрос есть код корзины где осуществил все (jan - это количество скидок на товар) 
      cart.php
    • От AndreyRr
      Генерируется много обращений к MySQL - превышаем лимиты на хостинге, и хостер ругается.
       
      С чем может быть связано, и можете посоветует кто-то толькового программиста кто может решить? (сам магазин небольшой, 300 товаров)
    • От 100napb
      Здравствуйте, уважаемые. Пропустим ту часть, в которой обсуждался бы вопрос откуда у Вас могут появиться всякие няшные смайлики. Скажу лишь, что лепить их направо и налево со всяких гаджетов любит каждый, в том числе, оставляя отзывы у Вас на сайте.
       
      Так вот, задался вопросом, как сохранить и не исказить все эти дорогие эмоции. Потому что ОпернКарт с ними не дружит. Для себя нашел следующие решение:
      Прежде всего, текст со смайлами или без них хранится в БД. Для этого данные должны быть в хипстерской кодировке utf8mb4. И сама БД ее должна поддерживать. Не у всех стоят последние версии Mysql, где все это работает не просто из коробки, а по умолчанию. Что бы перевести таблицу на кодировку с эмодзи выполним ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; где table_name заменяем на нужные таблицы. Можно и всю базу так заальтерить, но я чет очканул. Мне хватило таблиц oc_review и oc_comment (привет Markimax). Обновлять версию мускуля не обязательно. Если только он настолько старый, что о такой кодировке даже не знает. В настройках коннекта к БД опенкарта так же сменим кодировку: файл /system/library/db/mysqli.php,  $this->connection->set_charset("utf8mb4"); Вроде бы все... ах да, возможно, нужно менять параметры кодировки в файлах mpdo.php и mysql.php. Я менял. Может быть придется еще рестартануть службы. Под спойлером результат.  
      Может кому пригодиться.
      Ну и вопрос для сведущих: можно было как-то проще\грамотнее это сделать?
    • От theplastique
      1 299.00 руб
      Скачать/Купить дополнение


      FASHIONMART - адаптивный шаблон интернет магазина одежды, обуви, аксессуаров
      Шаблон работает на Opencart, Ocstore  2x и 3x. FASHIONMART - адаптивный шаблон интернет магазина одежды, обуви, аксессуаров и других тематик фэшн-индустрии. Шаблон обладает всем необходимым функционалом для старта интернет торговли уже сегодня. Полностью адаптивный и кроссбраузерный шаблон с валидным кодом (проверить по ссылке).
      Помимо стандартного функционала opencart шаблон обладает рядом преимуществ:
      Модуль слайдшоу с возможностью добавлять текст и ссылки; Модуль блока преимуществ; Модуль баннерная сетка; Модуль подписка на новости; Смена фото при наведении на карточку товара на страницах каталога, а так же в модулях вывода товара; Сворачивание длинного описания категории Удобный вывод фото и дополнительных фото на странице товара с эффектом zoom; Вывод логотипа бренда/производителя в карточке товара; Практически идентичная структура шаблона с стандартным, что делает шаблон FASHIONMART совместимым с сторонними модулями;  
      Бесплатная помощь в установке и настройке шаблона при необходимости!
      Мы постоянно работаем над улучшением шаблона и добавлением дополнительного функционала, все обновления абсолютно бесплатные!
      Демо главной страницы
      Демо страницы категории
      Демо страницы товара
       





      Добавил theplastique Добавлено 13.11.2017 Категория Платные шаблоны Системные требования php 5.4 и выше Сайт разработчика Старая цена 1600 Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От Molovka
      Ошибки при установке шаблона, загружал шаблон неделю назад всё было хорошо, взял другой шаблон появилась ошибка

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

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

×

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

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