gamburg
28.07.2014 - 12:38
Привет всем!
Хочу спросить совета.
Задача - добавить новую валюту на сайт, перевести по курсу, к старой валюте, новую валюту, после чего убрать старую, оставив одну новую валюту.
Мои действия:
1. В базе существует поле price, добавил поле price_eur
2. В Администрировании сайта вывел рядом с полем price поле price_eur
3. Создал простой конвертер, с определённым курсом на переменную price_eur
4. В Администрировании сайта в поле price_eur - выводится конвертированная цена.
5. Открыв определённый товар, в администрировании сайта, вижу две цены, нажав на обновить, новая цена заносится в базу.
6. Добавив, таким образом, все цены в новой валюте в базу, изменю просто запрос к базе, и цена будет одна на сайте и в администрировании тоже (удалив конечно поле price)
Всё как бы здорово, но позиций около 10 тыс.
Запарился я ручками делать обновление страниц.
Как бы автоматизировать процесс?
P.S. За ранее благодарю за любой совет!
хм, а в чем сложность?
update products set price_eur = price*1.5;
, где 1,5 - курс
gamburg
28.07.2014 - 12:54
Цитата (kaww @ 28.07.2014 - 08:49) |
хм, а в чем сложность?
update products set price_eur = price*1.5; , где 1,5 - курс |
хмм, а это нужно выполнить в самой базе MySql?
Каким образом?
Или нужно написать скрипт в администрировании и запустить один раз?
gamburg, это sql-запрос, который нужно выполнить в БД.
mysql> update products set price_eur = price*1.5;
sergeiss
28.07.2014 - 13:23
gamburg, можно было бы вообще не "париться", если надо просто изменить все цены с каким-то коэффициентом. Тот же апдейт, но по одному полю:
update products set price = price*1.5;
Все значения цены "чудодейственным" образом увеличатся в 1.5 раза.
Существенно: запустить эту команду надо только один раз!!! Иначе увеличение будет сделано в 2.25 раза (1.5*1.5)
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
sergeiss, точно, я как-то упустил то, что топикстартеру не нужны цены в нескольких валютах.
gamburg
28.07.2014 - 14:40
Цитата (kaww @ 28.07.2014 - 09:07) |
gamburg, это sql-запрос, который нужно выполнить в БД.
mysql> update products set price_eur = price*1.5; |
Огромное тебе спасибо! Как быстро и просто - я в шоке!
А не подскажешь , как округлить до сотых т.е., чтоб получилось 1.99, сейчас у меня получилось 1.9933
mysql> update products set price = trunkate(price, 2);
Как-нибудь так.
gamburg
28.07.2014 - 14:55
Цитата (eXaM @ 28.07.2014 - 10:45) |
<pre class="sh_sourceCode" rel="sql">mysql<span class="sh_symbol">></span> <span class="sh_keyword">update</span> products <span class="sh_type">set</span> price <span class="sh_symbol">=</span> trunkate<span class="sh_symbol">(</span>price<span class="sh_symbol">,</span> <span class="sh_number">2</span><span class="sh_symbol">);</span></pre> Как-нибудь так. |
А можно так?
mysql> update products set price_eur = round(price / курс, 2);
Я имею ввиду за одно действие, сделать два
gamburg
28.07.2014 - 15:31
Огромное спасибо всем, всё получилось! Тема закрыта.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.