PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Peter Kahl   Countries Info   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Countries Info
Retrieve country information from MySQL database
Author: By
Last change: Merge branch 'master' of https://github.com/peterkahl/countries
Date: 5 years ago
Size: 4,488 bytes
 

Contents

Class file image Download

Country Info (Multilingual)

License If this project has business value for you then don't hesitate to support me with a small donation.

Converts country code to full name in any of 17 languages and other country-related information from database.

Available data (for given country code): * country names in 17 languages (and/or script variations) * emoji flag * locale code * continent code * latitude and longitude of country's centroid * elevation (altitude) in metres * international calling code * total population * area in km² * currency code * Google Maps API place_id * TODO: capital city

Available languages: * Arabic (????) * Czech (?e?tina) * German (Deutsch) * Danish (dansk) * English * Spanish (español) * French (français) * Hebrew (???????) * Italian (italiano) * Japanese (???) * Dutch (Nederlands) * Portuguese (português) * Russian (???????) * Slovak (sloven?ina) * Chinese simplified (????) * Chinese traditional (????) * Welsh (Cymraeg) ... incomplete but working

Be cautious when upgrading to newer version

Consider backing up your existing countries database if it contains bespoke data. Your existing countries database will be dropped during the import (SQL query) of the new database dump.

Usage Examples

Generate HTML for select (drop-down list) of country names:

use peterkahl\Countries\Countries;

$link = mysqli_connect($DB_HOSTNAME, $DB_USERNAME, $DB_PASSWORD, $DB_DBNAME);

mysqli_set_charset($link, "utf8mb4");

$countryObj = new Countries;
$countryObj->dbresource = $link;
$array = $countryObj->getAllCodesNames('zh-tw'); # Chinese traditional

echo '<select>';
foreach ($array as $val) {
  echo '<option value="'.$val['code'].'">'.$val['name'].'</option>';
}
echo '</select>';

Translate country name:

use peterkahl\Countries\Countries;

$link = mysqli_connect($DB_HOSTNAME, $DB_USERNAME, $DB_PASSWORD, $DB_DBNAME);

mysqli_set_charset($link, "utf8mb4");

$countryObj = new Countries;
$countryObj->dbresource = $link;

echo $countryObj->code2countryName('US', 'ru'); # ??????????? ?????

Get all information for a given country:

use peterkahl\Countries\Countries;

$link = mysqli_connect($DB_HOSTNAME, $DB_USERNAME, $DB_PASSWORD, $DB_DBNAME);

mysqli_set_charset($link, "utf8mb4");

$countryObj = new Countries;
$countryObj->dbresource = $link;

$array = $countryObj->getCountryInfo('VC');
var_dump($array);
/*
array(29) {
  ["code"]=>
  string(2) "VC"
  ["cur_code"]=>
  string(3) "XCD"
  ["flag"]=>
  string(8) "??"
  ["longname"]=>
  string(32) "Saint Vincent and the Grenadines"
  ["name_ar"]=>
  string(36) "???? ????? ????????"
  ["name_cs"]=>
  string(26) "Svatý Vincent a Grenadiny"
  ["name_cy"]=>
  string(26) "Saint Vincent a'r Grenadiniaid"
  ["name_da"]=>
  string(29) "Saint Vincent og Grenadinerne"
  ["name_de"]=>
  string(30) "St. Vincent und die Grenadinen"
  ["name_en"]=>
  string(32) "Saint Vincent and the Grenadines"
  ["name_es"]=>
  string(28) "San Vicente y las Granadinas"
  ["name_fr"]=>
  string(31) "Saint-Vincent-et-les Grenadines"
  ["name_he"]=>
  string(40) "??? ?????? ??????????"
  ["name_it"]=>
  string(26) "Saint Vincent e Grenadines"
  ["name_ja"]=>
  string(54) "??????????????????"
  ["name_nl"]=>
  string(30) "Saint Vincent en de Grenadines"
  ["name_pt"]=>
  string(25) "São Vicente e Granadinas"
  ["name_ru"]=>
  string(45) "????-??????? ? ?????????"
  ["name_sk"]=>
  string(28) "Svätý Vincent a Grenadíny"
  ["name_zh-cn"]=>
  string(30) "??????????"
  ["name_zh-hk"]=>
  string(30) "??????????"
  ["latitude"]=>
  string(10) "13.2528179"
  ["longitude"]=>
  string(11) "-61.1970774"
  ["elevation"]=>
  string(7) "624.517"
  ["continent"]=>
  string(2) "NA"
  ["locale"]=>
  string(5) "en_VC"
  ["dialcode"]=>
  string(4) "1784"
  ["area"]=>
  string(3) "389"
  ["population"]=>
  string(6) "103000"
  ["place_id"]=>
  string(27) "ChIJuzU5nuKsQIwRsaHSjejT_TE"
}
*/