Вход • Регистрация

Подправить количество товаров SQL запросом

  • 13 октября 2017 г.
  • Доброго всем времени!
    Ребята, подскажите пожалуйста, как установить количество всех товаров, определенной категории (id категории известен) в определенное значение?
    Например, количество всех товаров из категории с ИД=14 должно быть 100...
    Заранее всем огромное спасибо за консультацию!
    • 13 октября 2017 г.
    • примерно так
      Код

      UPDATE diafan_shop_price sp
      INNER JOIN diafan_shop s
      on s.id = sp.good_id
      set sp.count_goods = 100
      WHERE s.cat_id = 14;
      • 13 октября 2017 г.
      • Отлично, благодарю! А еще вопрос аналогичный, как быть, если в diafan_shop_price нет вообще записи про товар?
        • 13 октября 2017 г.
        • Задуматься почему ее там нет)
          • 13 октября 2017 г.
          • Ситуация, изначально была включена настройка "Не учитывать остатки товара на складе". Все было хорошо и прекрасно до момента, когда конечный клиент изволил один из разделов каталога импортировать из 1С... только один из нескольких десятков...
            И вот тут появилась необходимость еще и количество учитывать...
            Как-то так...
            • 13 октября 2017 г.
            • если товаров не много, то зайти в каждый и сохранить.
              если много - ответ ниже, скриптом.
              • 13 октября 2017 г.
              • Товаров много, а скрипт я не смогу наверное сам... печалька...
              • 13 октября 2017 г.
              • Я не проверял, лучше сделать копию базы, прежде чем запускать код.

                Код

                $results_id = DB::query_fetch_all('SELECT id FROM {shop}');
                foreach($results_id as $rows_id){
                foreach($rows_id as $row_id){
                $chek_price = DB::query_fetch_all('SELECT * FROM {shop_price} WHERE good_id=%d', $row_id);
                if(!empty($chek_price)){
                DB::query('INSERT INTO {shop_price} (good_id,price) VALUES (%d,1)', $row_id);
                }
                }
                }
                $diafan->_shop->price_calc();
                ?>
        • 13 октября 2017 г.
        • Выбрать все айди товаров, записать для них допустим значение 1, а после вызвать функцию перерасчета цены $diafan->_shop->price_calc();
          • 14 октября 2017 г.
          • а не проще выкачать товары определенной категории изменить файл подгрузки, добавив туда поле количество и все это дело подгрузить через импорт?
            • 16 октября 2017 г.
            • Как вариант, но это удобно, когда категорий не много, а когда их сотни?
              • 16 октября 2017 г.
              • товары все выгружаются одним файлом.

                все равно проще, чем в базу лезть
              • 17 октября 2017 г.
              • Одним запросом из консоли БД проще и быстрее )

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум