Skip to main content

Ανάκτηση ονόματος από κωδικό χώρας

Σε προηγούμενη ανάρτηση ανάφερθηκε μια Ελληνική Λίστα Χωρών για χρήση σε οποιαδήποτε φόρμα. Σε περίπτωση όμως που θέλουμε να ανακτήσουμε από τον κωδικό(option value) της χώρας, το όνομά της, τι κάνουμε;
Μία λύση θα ήταν να έχουμε ένα πίνακα σε μια βάση δεδομένων(ή σε μια μεταβλητή) με δύο στήλες: "Κωδικό χώρας" και "Όνομα χώρας". Μια άλλη λύση θα ήταν να έχουμε ένα αρχείο που να περιέχει τις απαιτούμενες πληροφορίες.

Εδώ έχει γραφεί ο τρόπος:

Αποθήκευση σε μεταβλητή
$countries = array("mk"=>"F.Y.R.O.M. (Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας)",
"sh"=>"Αγία Ελένη",
"sm"=>"Άγιος Μαρίνος",
"ao"=>"Αγκόλα",
"az"=>"Αζερμπαϊτζάν",
"eg"=>"Αίγυπτος",
"et"=>"Αιθιοπία",
"ht"=>"Αϊτή",
"ci"=>"Ακτή Ελεφαντοστού",
"al"=>"Αλβανία",
"dz"=>"Αλγερία",
"as"=>"Αμερικανική Σαμόα",
"tp"=>"Ανατολικό Τιμόρ",
"ai"=>"Ανγκουίλα",
"ad"=>"Ανδόρα",
"aq"=>"Ανταρκτική",
"ag"=>"Αντίγκουα και Μπαρμπούντα",
"ar"=>"Αργεντινή",
"am"=>"Αρμενία",
"aw"=>"Αρούμπα",
"au"=>"Αυστραλία",
"at"=>"Αυστρία",
"af"=>"Αφγανιστάν",
"vu"=>"Βανουάτου",
"va"=>"Βατικανό",
"be"=>"Βέλγιο",
"ve"=>"Βενεζουέλα",
"bm"=>"Βερμούδα",
"vn"=>"Βιετνάμ",
"bo"=>"Βολιβία",
"mp"=>"Βόρειες Νήσοι Μαριάννες",
"ba"=>"Βοσνία και Ερζεγοβίνη",
"bg"=>"Βουλγαρία",
"br"=>"Βραζιλία",
"io"=>"Βρετανικά Εδάφη Ινδικού Ωκεανού",
"vg"=>"Βρετανικές Παρθένοι Νήσοι",
"fr"=>"Γαλλία",
"gf"=>"Γαλλική Γουιάνα",
"pf"=>"Γαλλική Πολυνησία",
"de"=>"Γερμανία",
"ge"=>"Γεωργία",
"gi"=>"Γιβραλτάρ",
"yu"=>"Γιουγκοσλαβία (Πρώην)",
"gm"=>"Γκάμπια",
"ga"=>"Γκαμπόν",
"gh"=>"Γκάνα",
"gu"=>"Γκουάμ",
"gp"=>"Γουαδελούπη",
"gt"=>"Γουατεμάλα",
"gy"=>"Γουιάνα",
"gn"=>"Γουινέα",
"gw"=>"Γουινέα Μπισάου",
"gd"=>"Γρενάδα",
"gl"=>"Γροιλανδία",
"dk"=>"Δανία",
"cz"=>"Δημοκρατία της Τσεχίας",
"do"=>"Δομινικανή Δημοκρατία",
"eh"=>"Δυτική Σαχάρα",
"sv"=>"Ελ Σαλβαδόρ",
"ch"=>"Ελβετία",
"gr"=>"Ελλάδα",
"er"=>"Ερυθραία",
"ee"=>"Εσθονία",
"zr"=>"Ζαΐρ",
"zm"=>"Ζάμπια",
"zw"=>"Ζιμπάμπουε",
"ae"=>"Ηνωμένα Αραβικά Εμιράτα",
"us"=>"Ηνωμένες Πολιτείες της Αμερικής",
"uk"=>"Ηνωμένο Βασίλειο",
"jp"=>"Ιαπωνία",
"in"=>"Ινδία",
"id"=>"Ινδονησία",
"jo"=>"Ιορδανία",
"iq"=>"Ιράκ",
"ir"=>"Ιράν",
"ie"=>"Ιρλανδία",
"gq"=>"Ισημερινή Γουινέα",
"ec"=>"Ισημερινός",
"is"=>"Ισλανδία",
"es"=>"Ισπανία",
"il"=>"Ισραήλ",
"it"=>"Ιταλία",
"kz"=>"Καζακστάν",
"cm"=>"Καμερούν",
"kh"=>"Καμπότζη",
"ca"=>"Καναδάς",
"qa"=>"Κατάρ",
"cf"=>"Κεντροαφρικανική Δημοκρατία",
"ke"=>"Κένυα",
"cn"=>"Κίνα",
"kg"=>"Κιργιζία",
"ki"=>"Κιριμπάτι",
"cg"=>"Κογκό",
"co"=>"Κολομβία",
"km"=>"Κομόρες",
"kp"=>"Κορέα, Βόρεια",
"kr"=>"Κορέα, Νότια",
"cr"=>"Κόστα Ρίκα",
"cu"=>"Κούβα",
"kw"=>"Κουβέιτ",
"hr"=>"Κροατία",
"cy"=>"Κύπρος",
"la"=>"Λάος",
"ls"=>"Λεσότο",
"lv"=>"Λετονία",
"by"=>"Λευκορωσία",
"lb"=>"Λίβανος",
"lr"=>"Λιβερία",
"ly"=>"Λιβύη",
"lt"=>"Λιθουανία",
"li"=>"Λιχτενστάιν",
"lu"=>"Λουξεμβούργο",
"yt"=>"Μαγιότ",
"mg"=>"Μαδαγασκάρη",
"mo"=>"Μακάο",
"my"=>"Μαλαισία",
"mw"=>"Μαλάουι",
"mv"=>"Μαλδίβες",
"ml"=>"Μαλί",
"mt"=>"Μάλτα",
"ma"=>"Μαρόκο",
"mq"=>"Μαρτινίκα",
"mu"=>"Μαυρίκιος",
"mr"=>"Μαυριτανία",
"mx"=>"Μεξικό",
"um"=>"U.S. Μικρά Μακρινά Νησιά",
"fm"=>"Μικρονησία, Δημοκρατικές Πολιτείες της",
"mn"=>"Μογγολία",
"mz"=>"Μοζαμβίκη",
"md"=>"Μολδαβία",
"mc"=>"Μονακό",
"ms"=>"Μονσεράτ",
"bd"=>"Μπανγκλαντές",
"bb"=>"Μπαρμπάντος",
"bs"=>"Μπαχάμες",
"bh"=>"Μπαχρέιν",
"bz"=>"Μπελίζε",
"bj"=>"Μπενίν",
"bw"=>"Μποτσουάνα",
"bf"=>"Μπουρκίνα Φάσο",
"bi"=>"Μπουρούντι",
"bt"=>"Μπουτάν",
"bn"=>"Μπρουνέι",
"mm"=>"Μυανμάρ",
"na"=>"Ναμίμπια",
"nr"=>"Ναούρου",
"nz"=>"Νέα Ζηλανδία",
"nc"=>"Νέα Καληδονία",
"np"=>"Νεπάλ",
"cx"=>"Νησί των Χριστουγέννων",
"wf"=>"Νησιά Γουάλις και Φουτούνα",
"ck"=>"Νησιά Κουκ",
"sj"=>"Νησιά Σβάλμπαρντ και Γιαν Μάγεν",
"sp"=>"Νησιά Σολομώντος",
"tc"=>"Νησιά Τουρκς και Κάικος",
"fo"=>"Νησιά Φερόε",
"fk"=>"Νησιά Φόκλαντ",
"hm"=>"Νησιά Χερντ και Μακ Ντόναλντ",
"ky"=>"Νήσοι Κέιμαν",
"cc"=>"Νήσοι Κόκος (Κίλινγκ)",
"mh"=>"Νήσοι Μάρσαλ",
"bv"=>"Νήσος Μπουβέ",
"nf"=>"Νήσος Νόρφολκ",
"pn"=>"Νήσος Πίτκερν",
"ne"=>"Νίγηρας",
"ng"=>"Νιγηρία",
"ni"=>"Νικαράγουα",
"nu"=>"Νίουε",
"no"=>"Νορβηγία",
"tf"=>"Νότια Γαλλικά Εδάφη",
"gs"=>"Νότια Γεωργία και Νότια Νησιά Σάντουιτς",
"za"=>"Νότιος Αφρική",
"dm"=>"Ντομίνικα",
"nl"=>"Ολλανδία",
"an"=>"Ολλανδικές Αντίλλες",
"om"=>"Ομάν",
"hn"=>"Ονδούρα",
"hu"=>"Ουγγαρία",
"ug"=>"Ουγκάντα",
"uz"=>"Ουζμπεκιστάν",
"ua"=>"Ουκρανία",
"uy"=>"Ουρουγουάη",
"pk"=>"Πακιστάν",
"pw"=>"Παλάου",
"pa"=>"Παναμάς",
"pg"=>"Παπούα Νέα Γουινέα",
"py"=>"Παραγουάη",
"vi"=>"Παρθένες Νήσοι",
"pe"=>"Περού",
"pl"=>"Πολωνία",
"pt"=>"Πορτογαλία",
"pr"=>"Πουέρτο Ρίκο",
"cv"=>"Πράσινο Ακρωτήρι",
"re"=>"Ρεϊνιόν",
"rw"=>"Ρουάντα",
"ro"=>"Ρουμανία",
"ru"=>"Ρωσία",
"ws"=>"Σαμόα",
"lc"=>"Σάντα Λουτσία",
"st"=>"Σάο Τομέ και Πρίνσιπε",
"sa"=>"Σαουδική Αραβία",
"pm"=>"Σεν Πιερ και Μικελόν",
"sn"=>"Σενεγάλη",
"vc"=>"Σεντ Βίνσεντ και Γρεναδίνες",
"kn"=>"Σεντ Κιτς & Νέβις",
"sc"=>"Σεϋχέλλες",
"sg"=>"Σιγκαπούρη",
"sl"=>"Σιέρα Λεόνε",
"sk"=>"Σλοβακία",
"si"=>"Σλοβενία",
"so"=>"Σομαλία",
"sz"=>"Σουαζιλάνδη",
"sd"=>"Σουδάν",
"se"=>"Σουηδία",
"sr"=>"Σουρινάμ",
"lk"=>"Σρι Λάνκα",
"sy"=>"Συρία",
"tw"=>"Ταϊβάν",
"th"=>"Ταϊλάνδη",
"tz"=>"Τανζανία",
"tj"=>"Τατζικιστάν",
"jm"=>"Τζαμάικα",
"dj"=>"Τζιμπουτί",
"tg"=>"Τόγκο",
"tk"=>"Τοκελάου",
"to"=>"Τόνγκα",
"tv"=>"Τουβαλού",
"tr"=>"Τουρκία",
"tm"=>"Τουρκμενιστάν",
"tt"=>"Τρινιντάντ και Τομπάγκο",
"td"=>"Τσαντ",
"tn"=>"Τυνησία",
"ye"=>"Υεμένη",
"ph"=>"Φιλιππίνες",
"fi"=>"Φινλανδία",
"fj"=>"Φίτζι",
"cl"=>"Χιλή",
"hk"=>"Χονκ Κονγκ");


Με αυτόν τον τρόπο, μπορούμε πχ να έχουμε το "gr" ως κωδικό χώρας οπότε και το
print($countries["gr"]);

θα επιστρέψει ως έξοδο το string "Ελλάδα".

Comments

Popular posts from this blog

Drupal: Allow registrations through Invite or Referral modules only

The Invite module provides invitations from existing users to their contacts. The Referral module, in contrary, creates a special URL for each existing user, which can be found in each user's profile, and allows new user registration. Even though, these two modules seem to provide the same functionality, they don't (and they shouldn't). Invite module, provides a mechanism for a site administrator to limit new registrations to "Invitations only". Referral module doesn't provide any of this functionality. Some users have requested the Invite module and Referral module to join in one module. Until now, there isn't anything to that direction. Wouldn't it be great though if there was a solution to limit drupal registration to referral or invitation only? Copy the functions below to a refinvite.module file in your sites→all→modules→refinvite folder and enable the module. Then go to http://<your-address-here>/admin/user/settings and enable the new …

Drupal: Status report problem: HTTP request status fails

Some of you may have encountered this problem in some cases. In "Status Report" page, accidentally appears the error below:

HTTP request status   FailsYour system or network configuration does not allow Drupal to access web pages, resulting in reduced functionality. This could be due to your webserver configuration or PHP settings, and should be resolved in order to download information about available updates, fetch aggregator feeds, sign in via OpenID, or use other network-dependent services.
What I did, was to recheck that my webserver had access to internet. Of course it had! The problem exists mostly when there is no information to resolve the domain name used with the local ip address of the webserver. This means that an error occurs in the entries of the DNS server.

In cases where DNS server is not existant(ex. local testing environment) all you have to do is inform the /etc/hosts file. For example if you use the domain http://www.example.local/ and your local ip addr…

Override the default Opigno LMS navigation menu

I recently used Opigno LMS for a client's project. It's actually a LMS distribution of Drupal. It supports WebEx meetings, Lessons, even PDF Certificates after you complete a Course. In my case though I needed Lessons but no PDF Certificates. Disabling the proper apps/modules wasn't anything out of the ordinary Drupal procedure. What was lacking though was a way to override the main menu to not display the My Achievements item.My Achievements is enabled as long as the Opigno Quiz App (@see Lessons above) is enabled and no hook exists to override this functionality. To disable it I had to create a custom theme using the Platon theme as a base (Platon is the default theme of the Opigno LMS) and copy 3 functions of Platon's template.php file to my theme's template.php with the proper modifications to get what I wanted.See the code below...