X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Автоматический перевод евро, доллар в рубли на сайте
saraus
saraus
Topic Starter сообщение 19.1.2015, 13:30; Ответить: saraus
Сообщение #1


Старожил
******

Группа: Active User
Сообщений: 1219
Регистрация: 21.6.2011
Поблагодарили: 418 раз
Репутация:   67  


Всем доброго дня!
Есть инет-магаз самопис. Цены берутся из бд (поле price) и выводятся на сайте <?php echo number_format($out['price'], 2, ',', ' ');?>. Цены в бд забиты в евро и долларах. Если какое-нибудь несложное решение на php или java, для пересчета цен на рубли, в идеале автоматического (например, чтобы тянул с cbr.ru).
Всех благодарю за любые дельные советы.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
JamesM12
JamesM12
сообщение 22.1.2015, 10:46; Ответить: JamesM12
Сообщение #2


Частый гость
**


Группа: User
Сообщений: 99
Регистрация: 30.10.2012
Поблагодарили: 27 раз
Репутация:   2  


Если не нужно что б индексировались эти цены, то можно спокойно брать курс с cbr и яваскриптом(jQuery) уже на странице у юзера в браузере переводить. Вроде как курс 1 раз в день меняется(на финмаркете так к примеру), по этому можно 1 раз забирать курс, класть куда нибудь в себе на сервер, и патом ajax ом на странице переводить как нужно. На пхп тоже можно сделать, но мне кажеться на яваскрипте будет проще.

Сообщение отредактировал JamesM12 - 22.1.2015, 10:47


--------------------
Создание, исправление, доработка, лечение ваших проектов :)
Linux, PHP, Javascript, HTML, CSS, Wordpress since 2008 - wpmastering.pro
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
I_know
I_know
сообщение 22.1.2015, 10:51; Ответить: I_know
Сообщение #3


Участник
***

Группа: User
Сообщений: 102
Регистрация: 7.12.2014
Поблагодарили: 36 раз
Репутация:   10  


Я вот так оф. курс забираю.

Код
$url = 'http://www.cbr.ru/scripts/XML_daily.asp';
$curr = simplexml_load_file($url);

$rate = array();
foreach ($curr as $v) {
  if ($v->NumCode == 840)
   $rate['USD'] = array( 'CURRENCY' => 'USD',
      'DATE_RATE' => $curr['Date'],
      'RATE_CNT' => 1,
      'RATE' => (float)str_replace(',','.',$v->Value));
      
  if ($v->NumCode == 978)
   $rate['EUR'] = array( 'CURRENCY' => 'EUR',
      'DATE_RATE' => $curr['Date'],
      'RATE_CNT' => 1,
      'RATE' => (float)str_replace(',','.',$v->Value));
}


Сообщение отредактировал I_know - 22.1.2015, 10:52


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yandex
Yandex
сообщение 22.1.2015, 11:20; Ответить: Yandex
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 509
Регистрация: 13.2.2010
Из: Москва
Поблагодарили: 240 раз
Репутация:   87  


I_know, тоже так делаю, как временный вариант. но проблема в том, что если на странице штук 20 товаров и ее откроют человек 100, то ни каждый хостинг выдержит.
лучше все это дело каждый день записывать в БД, по крону.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
JamesM12
JamesM12
сообщение 22.1.2015, 13:39; Ответить: JamesM12
Сообщение #5


Частый гость
**


Группа: User
Сообщений: 99
Регистрация: 30.10.2012
Поблагодарили: 27 раз
Репутация:   2  


Цитата
но проблема в том, что если на странице штук 20 товаров и ее откроют человек 100
по этому лучше на ява скрипте забирать закешированный курс на сегодня и делать это все в браузере у юзера, чем так на пхп грузить сервак


--------------------
Создание, исправление, доработка, лечение ваших проектов :)
Linux, PHP, Javascript, HTML, CSS, Wordpress since 2008 - wpmastering.pro
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
I_know
I_know
сообщение 22.1.2015, 13:42; Ответить: I_know
Сообщение #6


Участник
***

Группа: User
Сообщений: 102
Регистрация: 7.12.2014
Поблагодарили: 36 раз
Репутация:   10  


Цитата(Yandex @ 22.1.2015, 10:20) *
лучше все это дело каждый день записывать в БД, по крону.

Так я и записываю, я привел только кусок кода который актуальные курсы забирает :)


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Burdamister
Burdamister
сообщение 30.1.2015, 23:31; Ответить: Burdamister
Сообщение #7


Бывалый
****

Группа: User
Сообщений: 280
Регистрация: 17.7.2014
Поблагодарили: 31 раз
Репутация:   6  


В чем проблема написать функцию которая по api будет получать курс, пересчитывать и выводить новую цену?

Но тут как по мне может быть маркетинговая проблема. Могут вылазить просто не красивые цены. Тогда придется написать код корректировки цены, чтоб она лучше выглядела.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vers
Vers
сообщение 3.3.2015, 3:40; Ответить: Vers
Сообщение #8


Частый гость
**

Группа: User
Сообщений: 76
Регистрация: 5.2.2015
Поблагодарили: 13 раз
Репутация:   4  


А в чем проблема забрать курсы ночью после обновления, пересчитать все цены, записать в бд и выдавать оттуда в рублях.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) SimplePay: Прием платежей на сайте для юридических и физических лиц
4 kuprum 509 Вчера, 14:07
автор: kuprum
Открытая тема (нет новых ответов) iPay24.org - автоматический обмен, лучший курс | Bitcoin, QIWI, EXMO, Yandex Money, Perfect Money
22 iPay24 4010 Вчера, 10:02
автор: iPay24
Открытая тема (нет новых ответов) Перевод статей на тему программирования Анл-Рус
Нужен человек, который имеет представление, о чем пишет.
1 andreykashops 279 14.12.2017, 21:27
автор: EvilGomel
Горячая тема (нет новых ответов) Рекомендую: размещение статьи на сайте, ТИЦ 325, PR 6, траст XT 8
44 rumblade 10676 14.12.2017, 15:45
автор: rumblade
Открытая тема (нет новых ответов) 17 вещей на вашем сайте, которые ненавидят
Один из постулатов маркетинга — не раздражать людей
25 PostBrigada 3619 12.12.2017, 21:44
автор: alexandrrr


 



RSS Текстовая версия Сейчас: 16.12.2017, 8:11
Дизайн