Search the Community
Showing results for tags 'query'.
-
Скачать / Купить дополнение Лог медленных запросов для Opencart 2.x-3.x [ocmod] Мод позволяет получить лог медленных sql-запросов для последующей отладки скорости загрузки сайта лог сохраняется по адресу ../system/logs/sql_time.log для изменения лимита времени записи запросов, нужно подправить строку в xml $min_time = 10;//минимальное время исполнения запроса в мс, записываемое в лог Что пишется в лог: время генерации страницы к-во запросов на странице (общее и медленных) список медленных запросов и времени выполнения какой файл и какая функция вызывает запрос пример: ►► Страница: /index.php?route=product/product&product_id=33 Время генерации: ~116.71мс К-во запросов: 13 Медленные(1): 1) Источник: system\storage\modification\catalog\model\catalog\product.php → updateViewed Время выполнения: 1.59мс UPDATE oc_product SET viewed = (viewed + 1) WHERE product_id = '33' end =============================== Не забудьте деактивировать мод после окончания работ, иначе лог-файл будет расти месяцами пока не закончится место Добавил Otvet Добавлено 04.11.2015 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 3.0 2.3 2.2 2.1 OpenCart.Pro, ocShop Opencart.pro 2.3 Opencart.pro 2.1 OcShop 2.0.3.х Обращение к серверу разработчика Нет
-
Здравствуйте, помогите. Не сильный в mysql, но нужно выбрать некоторую информацию. Из готовых заказов, те что выполненны нужно взять те что заказали с этого года по сегодня, легко: SELECT * FROM oc_order WHERE oc_order.order_status_id = 19 AND oc_order.date_modified BETWEEN '2018-01-01 00:00:00' AND '2018-02-02 23:59:59' Например нашло 30 заказов, скажем ид 3000 - 3030, как дальше выбрать все товары, это таблица oc_order_product Через цикл foreach? Или модифицировать 1 запрос вот так? SELECT * FROM oc_order_product WHERE oc_order_product.order_id in (SELECT oc_order.order_id FROM oc_order WHERE oc_order.order_status_id = 19 AND oc_order.date_modified BETWEEN '2018-01-01 00:00:00' AND '2018-02-02 23:59:59') И потом ище выбрать только те товары у которых производитель Apple (manufacturer_id = 1) В таблице oc_order_product нет колонки manufacturer, но зато она есть в oc_product Как тут быть? Что-то думаю нужно взять JOIN, но как сделать запрос так и не понял) Какими программами вы пользуетесь для построенния таких сложных запросов mysql для разработки своих дополнений? Надеюсь на понимание, спасибо.
-
Всем привет! В нашем ИМ есть позиции товара, которые мы не держим в наличии, но хотим продавать под заказ. Поставщик подвозит товар 1 раз в неделю по средам, поэтому сейчас мы ставим статус при отсутствии товара на складе "Ожидание 7-8 дней". Хотелось бы, чтобы это количество изменялось в зависимости от дня недели. Я решил реализовать это через SQL запрос UPDATE, вызываемый при каждой загрузке страницы. 12-15 лет назад я увлекался программированием на php3, но уже мало что помню, да и язык стал объектно-ориентированным. Я пытался вставить такую конструкцию в подвал файла index.php: // Обновление срока ожидания товара $days_to_supply = 7; $db->query("UPDATE `c1043`.`stock_status` SET `name` = \'Ожидание ".$days_to_supply."-".($days_to_supply+1)." дней\' WHERE `stock_status`.`stock_status_id` = 6 AND `stock_status`.`language_id` = 1"); Но с ней на выходе получается пустая страница, при этом никакой ошибки не появляется в логах. Стоит отметить, что база правильно обрабатывает этот SQL запрос через phpmyadmin. Подскажите пожалуйста, как правильно сделать запрос. Или есть другие более простые способы решения этой задачи? З.Ы. Код для правильного присвоения значения переменной $days_to_supply я еще напишу. Но если и это подскажете - с меня пиво! =)
-
Привет всем! Есть модуль слайдшоу Sidebar Slide Show для Opencart 1.4.9.1 Пример здесь, справа вверху: http://www.avtodomnn.ru Хотелось бы, если возможно, отображать там только те товары, у которых есть изображение. тоесть no_image не отображать. файл no_image.jpg Я так понимаю нужно отредактировать этот запрос: <?php class ModelCatalogSideBarSlideshow extends Model { public function getRandomProduct() { $query = $this->db->query("SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY RAND() LIMIT ".$this->config->get('sidebarslideshow_limit') ); $product_data = $query->rows; return $product_data; } } ?> Заранее спасибо за помощь!