Дмитрий25 1 Опубликовано 2 января, 2015 Жалоба Share Опубликовано 2 января, 2015 Хочу решить проблему с массовым изменением цен на сайте, сейчас по причине колебаний курса валют - эта проблема актуальна как никогда. Хочу узнать насколько правильным будет такое решение (и нет ли здесь ошибок): Создадим SQL запрос UPDATE content_products SET price = price*1.155 WHERE manucaturer_id = «18»; По запросу: content_products -таблица в которой содержаться идентификаторы для товара, производителей, а также цены price = price*1.155 - колонка цены, которая будет равна цена умножить на значение которое нужно изменить. manucaturer_id - идентификатор производителя, таким образом удобно изменять цену для всех товаров конкретного производителя Правильный ли это запрос? Очень не хочется сломать все) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 января, 2015 Жалоба Share Опубликовано 2 января, 2015 Вроде как правильно. Но Вы всё равно перед выполнением запроса сделайте резервную копию базы, на всякий случай, если что не так будет, можно будет восстановиться. Ссылка на сообщение Поделиться на другие сайты
tanya_rabota@list.ru 0 Опубликовано 22 января, 2015 Жалоба Share Опубликовано 22 января, 2015 Добрый вечер, у меня по этому поводу возник дополнительный вопрос..... при запросе, к примеру UPDATE content_products SET price = price*1.25 WHERE content_id BETWEEN *** AND **** я меняю определенные товары, но цена получается неровной.... как округлить до значений 5 или 0 на конце в большую сторону... то есть 222 это 225, а 1347 это 1350..... полазил по инету, но, обычно, варианты приводят к ошибкам в запросах... может кто подскажет?))) Ссылка на сообщение Поделиться на другие сайты
tanya_rabota@list.ru 0 Опубликовано 22 января, 2015 Жалоба Share Опубликовано 22 января, 2015 нашел такое решение 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` но как связать его с предыдущим запросом.... у меня мозга пока не хвататет))))) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 22 января, 2015 Жалоба Share Опубликовано 22 января, 2015 Смотрите документацию 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 **** Ссылка на сообщение Поделиться на другие сайты
tanya_rabota@list.ru 0 Опубликовано 22 января, 2015 Жалоба Share Опубликовано 22 января, 2015 Смотрите документацию 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 **** по идее это округлит до целого числа... решение то я нашел.... но как свзять его с начальным условием.. вот проблема то))))) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 22 января, 2015 Жалоба Share Опубликовано 22 января, 2015 Я конкретный запрос Вам не напишу, смотрите документацию, ищите примеры в гугле, на stackoverflow.com Я уверен на 100%, что б многие люди уже сталкивались с такими же прблемами и ответили на эти вопросы, особенно на том же stackoverflow.com Ссылка на сообщение Поделиться на другие сайты
maxoperator 0 Опубликовано 10 декабря, 2015 Жалоба Share Опубликовано 10 декабря, 2015 А будет ли создан модуль на подобии того,что есть в первом Vamshop, массовое изменение цен в процентном отношении и возможность изменять цены по производителям и категориям? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 10 декабря, 2015 Жалоба Share Опубликовано 10 декабря, 2015 Именно такой - нет. Сейчас уже есть возмонжость прямо в списке товара менять цену, просто кливаете на цене и меняете. А массово - можно через excel, т.е. выгрузить в csv файл и поменять цену на любой процент в excel. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения