Az Országok című feladatban már találkoztunk a világ
országainak adatbázis-táblázatával - és az arra vonatkozó kérdésekkel.
Most viszont azt szeretnénk, hogy ugyanezen adatokból kizárólag az európai országokkal
dolgozva készítsünk egy listát az országok neveivel, és oldjuk meg, hogy bármely
felsorolt európai ország nevére kattintva jelenjenek meg a lista mellett az
kiválasztott ország fontosabb adatai.
Az URL tanulmányozásához nyissa meg teljes ablakban!
Az adatbázistáblát létrehozó SQL utasításssor az alábbi linkről tölthető le:
Hozzunk létre phpMyAdmin felületünkön foldrajz néven adatbázist
(ha még nem létezik), és helyezzük el benne az adatbázistáblát. Ezt követően
üzemeljük be a fenti példát megvalósító programkódot a saját fejlesztői
környezetünkben, mely az alábbi képre kattintva érhető el!
A megoldás legfontosabb elemeit azok a PHP függvények jelentik, melyek az
adatbázishozzáférést, és -kezelést valósítják meg. Ezek a következők:
Értelemszerűen a mysqli_connect(), illetve a mysqli_close() az adatbázishoz kapcsolódást, valamint
az arról való lekapcsolódást valósítják meg.
A mysqli_query() teszi lehetővé, hogy a PHP programunkban MySQL utasítást (kérést) tudjunk elhelyezni.
Ennek az eredménye - helyes MySQL utasítás esetén - egy táblázat, mellyel a PHP kiíró utasítások nem sokat
tudnak kezdeni. Ezért van szükség a mysqli_fetch_array() függvényre, mely a táblázat egy sorát tömbbe
olvassa át. A tömb elemei a táblázat egyes oszlopaiból jönnek létre.
Abban az esetben, ha a lekérdezésünk több sornyi adatot adott vissza, akkor a tömbbe olvasást jellemzően
egy while() ciklus részeként szükséges többször végrehajtani - hiszen a mysqli_fetch_array()
egyszerre valóban csak egy rekordot olvas ki a táblázatból, az éppen soron következőt.
Ha a lekérdezésünk eredménye csupán egyetlen sornyi adatból áll - például mert összesített adatokat
kérdeztünk le -, akkor nincs szükség ciklusszervező utasításra, hanem a mysqli_query() függvény
eredménye egy az egyben lehet a mysqli_fetch_array() paramétere.
Vegyük észre, hogy bár az adatbázis-tábla nem tartalmazza az egyes országok
népsűrűségét, a megjelenített adatok között ez mégis szerepel. Ez - nem
meglepő módon - azért lehetséges, mert a népsűrűség számolható a népességből,
és a területből. Ám hogy ezt SQL-lel, vagy PHP-val számoltatjuk,
ez már érdekesebb kérdés. Keresse meg a programkódban mindkét lehetőség
megvalósítását - mert mindkettő benne van -, és figyelje meg az eredmények
közti különbséget!
Feladat
Egészítse ki a fenti példában az országok bemutatását néhány hiányzó adattal, úgy mint
nemzetközi autójel;
nemzetközi telefon-hívószám;
pénznem, pénzjel, és váltópénz;
GDP.
További feladat
Oldja meg, hogy az országok választását lehetővé tevő bal paneltől balra - egy harmadik
panelen - legyen még egy választási lehetőség, ahol a földrészek közül lehet
választani! Értelemszerűen az országok listája annak megfelelően alakuljon, ahogyan
az új panelben földrészt választ a felhasználó.
A teljes felületet úgy alakítsa ki, hogy amikor a felhasznló új kontinenst választ,
akkor a jobb oldali panelben jelenjenek meg a kiválasztott földrész következő jellemzői:
Hány ország van az adott kontinensen?
Mekkora a kontinens területe?
Hány ember él a kontinensen?
Mekkora a kontinens átlagos népsűrűsége?
Melyik a kontinens legkisebb, illetve legnagyobb országa?
Melyik a kontinens legsűrűbben, illetve legritkábban lakott országa?
Hogyan tovább?
E példa keretében megnéztünk egy viszonylag egyszerű lehetőséget adatbázisban szereplő
adatok elérésére. Ám gyakori elvárás, hogy az adatbázis adatai webes megjelenésű
táblázatban legyenek áttekinthetőek. Ilyen megoldást igyekszik szemléltetni a
Megyéink és a régiók című mintapélda.