Перейти к содержанию
Форум поддержки пользователей VamShop

Массовое изменение цен


Дмитрий25

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

Хочу решить проблему с массовым изменением цен на сайте, сейчас по причине колебаний курса валют - эта проблема актуальна как никогда. Хочу узнать насколько правильным будет такое решение (и нет ли здесь ошибок): 

Создадим SQL запрос 

 

UPDATE content_products SET price = price*1.155 WHERE manucaturer_id = «18»;

 

По запросу: content_products -таблица в которой содержаться идентификаторы для товара, производителей, а также цены

 

price = price*1.155 - колонка цены, которая будет равна цена умножить на значение которое нужно изменить. 

 

manucaturer_id - идентификатор производителя, таким образом удобно изменять цену для всех товаров конкретного производителя

 

Правильный ли это запрос? Очень не хочется сломать все)

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

Вроде как правильно.

 

Но Вы всё равно перед выполнением запроса сделайте резервную копию базы, на всякий случай, если что не так будет, можно будет восстановиться.

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

Добрый вечер, у меня по этому поводу возник дополнительный вопрос.....

при запросе, к примеру

UPDATE content_products SET price = price*1.25 WHERE content_id BETWEEN *** AND ****

я меняю определенные товары, но цена получается неровной....

как округлить до значений 5 или 0 на конце в большую сторону... то есть 222 это 225, а 1347 это 1350.....

полазил по инету, но, обычно, варианты приводят к ошибкам в запросах... может кто подскажет?)))

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

нашел такое решение

 

SELECT (
    CASE
      WHEN FLOOR(`price`)%10>5 THEN ROUND(`price`,-1)
      WHEN FLOOR(`price`)%10=0 THEN FLOOR(`price`)
      ELSE ROUND(`price`,-1)+5
    END) AS `price`
  FROM `ps_product`

 

но как связать его с предыдущим запросом.... у меня мозга пока не хвататет)))))

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

Смотрите документацию MySQL.

Вот тут смотрит описание round - http://www.mysql.ru/docs/mysql-man-4.0-ru/reference.html

 

Видимо, как-то так примерно:

UPDATE content_products SET price = round(price*1.25) WHERE content_id BETWEEN *** AND ****
Ссылка на сообщение
Поделиться на другие сайты

 

Смотрите документацию MySQL.

Вот тут смотрит описание round - http://www.mysql.ru/docs/mysql-man-4.0-ru/reference.html

 

Видимо, как-то так примерно:

UPDATE content_products SET price = round(price*1.25) WHERE content_id BETWEEN *** AND ****

по идее это округлит до целого числа... решение то я нашел.... но как свзять его с начальным условием.. вот проблема то)))))

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

Я конкретный запрос Вам не напишу, смотрите документацию, ищите примеры в гугле, на stackoverflow.com

Я уверен на 100%, что б многие люди уже сталкивались с такими же прблемами и ответили на эти вопросы, особенно на том же stackoverflow.com

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

А будет ли создан модуль на подобии того,что есть в первом Vamshop, массовое изменение цен в процентном отношении и возможность изменять цены по производителям и категориям?

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

Именно такой - нет.

Сейчас уже есть возмонжость прямо в списке товара менять цену, просто кливаете на цене и меняете.

А массово - можно через excel, т.е. выгрузить в csv файл и поменять цену на любой процент в excel.

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