Výběr země na stránce v PHP bez databáze
Potřebujete-li na svých stránkách zjednodušit výběr států, stačí k tomu poměrně jednoduchý skript, aniž byste využívali databázi.
Států je poměrně hodně, ovšem jejich seznam se mění velmi zřídka. V řadě případů by bylo použití databáze zbytečným kanónem na vrabce: například formulář, jehož obsah se odesílá na mail a nijak s databází nespolupracuje. Může to být třeba kniha návštěv, kde předpokládáme mezinárodní návštěvníky, ale klidně i aplikace pracující s databází, kde na určení země neklademe až tak velký důraz, ale chceme zvýšit komfort uživatele při zadávání dat.
Jediným problémem tak zůstává dát si tu práci a seznam zemí sepsat. Udělal jsem to za vás, a tak stačí seznam stáhnout a doplnit do aplikace. Také jsem doplnil jednoduchý test, který umožní nastavit určitou zemi jako předvolenou. To se hodí zejména v případě, kdy toto pole používáte nejen pro vkládání nových dat, ale i pro editaci. Pole select
je tak schopné zobrazit aktuálně zvolenou zemi. Pokud se shoduje obsah proměnné $country
s hodnotou uvedenou v podmínce v řádku dané země, vygeneruje se navíc slovo selected do tagu option, čímž se tento řádek stane předvoleným. Podívejte se na ukázku, ve kterém je předvolena Srí Lanka. Jen připomínám, že pokud takto předáváme název země, je třeba diakritické znaky a speciální znaky (jako je třeba mezera %20) nahradit sekvencí %kód – v PHP nám k tomu poslouží funkce RawUrlEncode()
.
Část skriptu countryselect.php:
<?php if (empty($country)) $country=’Czech Republic‘ ?>
<select name="country">
<option value="Afghanistan" <?php echo ($country == ‚Afghanistan‘) ? ‚selected‘ : “ ?>>Afghanistan</option>
<option value="Albania" <?php echo ($country == ‚Albania‘) ? ‚selected‘ : “ ?>>Albania</option>
<option value="Algeria" <?php echo ($country == ‚Algeria‘) ? ‚selected‘ : “ ?>>Algeria</option>
<option value="Andorra" <?php echo ($country == ‚Andorra‘) ? ‚selected‘ : “ ?>>Andorra</option>
<option value="Angola" <?php echo ($country == ‚Angola‘) ? ‚selected‘ : “ ?>>Angola</option>
</select>
Stažený seznam států si zařaďte do své aplikace, předvolenou hodnotu nastavte do proměnné $country
. V závislosti na aplikaci není problém ve skriptu proměnnou $country
hromadně v textovém editoru nahradit za jinou dle potřeby (například prvek pole získaný z databáze $data[2]
, proměnná předaná metodou GET $_GET['country']
, hodnota cookie $_COOKIE['country']
a jiné).
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Jak zabezpečit váš chytrý telefon před kybernetickými hrozbami
30. listopadu 2023 -
Fandíme českým sportovcům a rozdáváme hosting ZDARMA!
26. července 2024 -
Jak vybrat doménu: Co je dobré vědět?
2. září 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024
Petr Blažíček
Zář 18, 2013 v 9:20Kanón na vrabce asi nebude nejlepším přirovnáním. Aplikace, ve které je třeba vybrat zemi ze seznamu určitě bude používat databázi tak jako tak.