Форма: пусть пользователь выбирает свою страну (выпадающий) и получает валюту (php) - PullRequest
2 голосов
/ 13 июля 2011

В настоящее время я пишу краткий опрос (в формате html) с использованием php, mysql и jquery.Я хочу, чтобы пользователь выбрал свою страну из выпадающего списка, а затем получил правильную валюту (на стороне сервера), чтобы позже я мог задавать вопросы, относящиеся к правильной валюте.

У меня действительно нетчеткое представление о том, как этого добиться.Я знаю, что могу найти актуальный список стран из: http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm Я мог бы сделать из массива php, но потом?

http://snipplr.com/view/36437/php-country-code--to-html-currency-symbol-list/ Кажется хороший код, но мне нравится использоватьчто-то актуальное.

Для меня не проблема использовать базу данных mysql, но это проблема установки плагинов / расширений (хостинг не позволяет).

Кто-нибудь знает хороший (и, возможно, простой) способ добиться этого?

Ответы [ 3 ]

0 голосов
/ 26 февраля 2012

Не отвечая на ваш вопрос, но:

Начиная с PHP5.3 intl стало значением по умолчанию.Он содержит NumberFormatter :: formatCurrency () , который делает то, что пытается сделать связанная с вами страна_currency () - только правильно.Если PHP5.3 является жизнеспособным минимальным требованием (учитывая, что 5.2 устарела и больше не поддерживается) - используйте функции intl.

С Locale :: acceptFromHttp () вы можете проверить браузерпопросите заголовки предварительно выбрать наиболее подходящую локаль.

Ваш список ISO-кодов стран по-прежнему должен быть полезен для руководства <select> на определенном уровне.Но имейте в виду, что это не совсем точно: Германия переводится как de, что может быть недостаточно конкретным, если смотреть de_AT, de_CH, de_DE.Каждый из них может представлять валюту по-своему.€1,123.23, 1 123,23 € и т. Д.Вам все равно нужно будет знать, какую валюту вы обрабатываете.Таким образом, вам нужен список кодов стран ИСО И карта кода страны в валюте.

0 голосов
/ 03 августа 2016

NumberFormatter PHP Intl принимает английский как язык для любой страны.Так что просто используйте en_ плюс код вашей страны.

echo (new NumberFormatter('en_DE', NumberFormatter::CURRENCY))
    ->getTextAttribute(NumberFormatter::CURRENCY_CODE); // EUR

echo (new NumberFormatter('en_RS', NumberFormatter::CURRENCY))
    ->getTextAttribute(NumberFormatter::CURRENCY_CODE); // RSD
0 голосов
/ 13 июля 2011

Вы можете использовать CURL или file_get_contents () для чтения содержимого с URL-адреса и всегда обновляться.

...