[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление новой валюты в базу MySql
gamburg
Привет всем!

Хочу спросить совета.
Задача - добавить новую валюту на сайт, перевести по курсу, к старой валюте, новую валюту, после чего убрать старую, оставив одну новую валюту.

Мои действия:
1. В базе существует поле price, добавил поле price_eur
2. В Администрировании сайта вывел рядом с полем price поле price_eur
3. Создал простой конвертер, с определённым курсом на переменную price_eur
4. В Администрировании сайта в поле price_eur - выводится конвертированная цена.
5. Открыв определённый товар, в администрировании сайта, вижу две цены, нажав на обновить, новая цена заносится в базу.
6. Добавив, таким образом, все цены в новой валюте в базу, изменю просто запрос к базе, и цена будет одна на сайте и в администрировании тоже (удалив конечно поле price)

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

Как бы автоматизировать процесс?

P.S. За ранее благодарю за любой совет!
kaww
хм, а в чем сложность?
update products set price_eur = price*1.5;

, где 1,5 - курс
gamburg
Цитата (kaww @ 28.07.2014 - 08:49)
хм, а в чем сложность?
update products set price_eur = price*1.5;

, где 1,5 - курс

хмм, а это нужно выполнить в самой базе MySql?
Каким образом?
Или нужно написать скрипт в администрировании и запустить один раз?
kaww
gamburg, это sql-запрос, который нужно выполнить в БД.
mysql> update products set price_eur = price*1.5;
sergeiss
gamburg, можно было бы вообще не "париться", если надо просто изменить все цены с каким-то коэффициентом. Тот же апдейт, но по одному полю:

update products set price = price*1.5;

Все значения цены "чудодейственным" образом увеличатся в 1.5 раза.

Существенно: запустить эту команду надо только один раз!!! Иначе увеличение будет сделано в 2.25 раза (1.5*1.5)

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
kaww
sergeiss, точно, я как-то упустил то, что топикстартеру не нужны цены в нескольких валютах.
gamburg
Цитата (kaww @ 28.07.2014 - 09:07)
gamburg, это sql-запрос, который нужно выполнить в БД.
mysql> update products set price_eur = price*1.5;

Огромное тебе спасибо! Как быстро и просто - я в шоке!

А не подскажешь , как округлить до сотых т.е., чтоб получилось 1.99, сейчас у меня получилось 1.9933
eXaM
mysql> update products set price = trunkate(price, 2);

Как-нибудь так.
gamburg
Цитата (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);

Я имею ввиду за одно действие, сделать два
eXaM
Ну да, почему бы и нет.
gamburg
Огромное спасибо всем, всё получилось! Тема закрыта.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.