2020. január 8., szerda

Órai gyakorlati feladatok PHP programozás

Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni.   A dinamikus weboldalak az esetek többségében valamilyen adatbázist használnak az oldalon megjelenített adatok forrásaként.   Példák:   Webárúház: áruk, ügyfelek, rendelések  Fórum: témák, hozzászólások, felhasználók  Képgaléria: albumok, képek A MySQL a  legnépszerűbb nyílt-forráskódú relációs adatbázis-kezelő rendszer.  A leggyakrabban a PHP-val együtt használjákdinamikus weboldalak készítésére.   Míg a PHP-t az Apache webszerver egy beépülő moduljaként használtuk, addig a MySQL egy különálló szerverként fut.   Ehhez tudunk konzolos vagy grafikus kliens alkalmazásokkal, vagy a különböző programozási nyelvekben API-kon keresztül kapcsolódni Windows alatt a XAMPP (Lite) csomag   Linux alatt a következő csomagok:  apache2   php5, php5-mysql   mysql-client, mysql-server   phpMyAdmin: a MySQL könnyebb kezelhetőségétszolgáló, böngészőn keresztül elérhető alkalmazás  Első lépésként csatlakoznunk kell egy MySQL kiszolgálóhoz, és azon kiválasztani egy adatbázist.  Készítsük el a dbconfig.php fájlt:   <?php $kapcsolat = mysql_connect("szerver","azonosító", "jelszó"); mysql_select_db("proba", $kapcsolat); ?> A mysql_connect() sikeres csatlakozás esetén a kapcsolatra mutató változóval tér vissza, ellenkező esetben pedig FALSE-szal.   A mysql_select_db("adatbázis neve", $kapcsolat) paranccsal tudjuk kiválasztani azt az adatbázist, amelyet használni szeretnénk.   A MySQL kiszolgálóval létesített kapcsolat a szkript lefutásáig él, utána automatikusan megszakad. szokás ezt a két műveletet egy külön fájlban elhelyezni, és azt minden adatbázist is használó szkript elején ”include-olni”, a require_once("dbconfig.php"); paranccsal.   Ezáltal csak egyszer kell megírnunk, és szükség esetén csak egy helyen kell módosítanunk az adatbázishoz való kapcsolódást végző kódrészletet.   Az ”include-olás” miatt az ”include-olt” szkript nem ér véget, így a tartalmazó szkriptben is élni fog az adatbáziskapcsolat. A kapcsolódás után hibakezelést is végezhetünk:   if (!$kapcsolat) {  die('Hiba a csatlakozáskor: ' .  mysql_error()); }   A die(”Hibaüzenet”) paranccsal félbeszakíthatjuk a program futását, és kiírathatjuk a hiba okát.   A mysql_error() függvény a legutóbbi MySQLnek küldött utasítás során keletkezett esetleges hibaüzenettel tér vissza. Feladat: Szeretnénk nyilvántartani a kurzusainkat egy adatbázisban. Szükségünk van egy weblapra, ahol kilistázhatjuk a kurzusaink nevét és kreditértékét, valamint új kurzusokat szúrhatunk be az adatbázisunkba.  Relációséma: Kurzus (kód, név, kredit)   Ezt a táblát fogjuk létrehozni és adatokkal feltölteni a phpMyAdmin segítségével. Később ezt SQLparancsokkal is meg tudjuk majd oldani Lépjünk be a phpMyAdmin alkalmazásba a következő címen: http://localhost/phpmyadmin   Hozzunk létre egy új adatbázist ”proba” néven!   Ebben hozzunk létre egy új táblát ”kurzusok” néven 3 mezővel!   Adjuk meg a 3 mezőt a következők szerint:   kod: VACHAR típusú, 10 hosszúságú, PRIMARY Index   nev: VACHAR típusú, 30 hosszúságú   kredit: INT típusú Az Importálás fülön adjuk meg a ”kurzusok.csv” fájlt.   Az elejétől kihagyandó rekordok számát állítsuk 1-re!   Válasszuk ki a ”CSV” opciót a fájlformátum esetén!   Ha minden rendben zajlott, a Tartalom fülön láthatjuk az adattáblánk tartalmát.   Megjegyzés: az adatainkat és a táblák szerkezetét is exportálhatjuk számos formátumban az Exportálás fülön. Listázzuk ki a kurzusaink nevét és kreditértékét!   Készítsük el a listaz.php fájlt:   <?php require_once("dbconfig.php"); $res = mysql_query("SELECT * FROM kurzusok"); while($sor = mysql_fetch_array($res)) { echo $sor['nev']." ".$sor['kredit'];  echo "<br />";}?>A mysql_query("SELECT * FROM kurzusok") parancs végrehajtja a paraméterben kapott lekérdezést és visszatér az eredménnyel.   Ebben az esetben a kurzusok táblával.   A fetch_array függvény lekérdezi egy eredménytábla következő sorát, amit asszociatív és egyszerű tömbként is használhatunk!   Asszociatív tömbként kezelve az adattábla oszlopainak nevére hivatkozva érhetjük el a tábla sorainak egyes mezőit. echo "<table border='1'><tr> <th>Név</th> <th>Kredit</th> </tr>"; while($sor = mysql_fetch_array($res)) {  echo "<tr>"; echo "<td>" . $sor['nev'] . "</td>";  echo "<td>" . $sor['kredit'] . "</td>"; echo "</tr>";}echo "</table>"; Készítsük el az alább látható űrlapot, és afeldolgozást végző PHP-lapot (kurzus.{html,php})!   $sql="INSERT INTO kurzusok (kod, nev, kredit) VALUES ('$_POST[kod]','$_POST[nev]','$_POST[ kredit]')"; $res = mysql_query($sql);   Az INSERT INTO tábla(mezők) VALUES (értékek) utasítással adatokat szúrhatunk be egy táblába.   Az adatokat bekérő űrlap, és a feldolgozását végző kód gyakran egy fájlban található.   Ekkor vigyázni kell arra, hogy az űrlap első betöltésekor, és újratöltésekor ne próbáljunk megadatokat beszúrni az adatbázisunkba, mivel azelőtt az űrlap még üres volt!   Ez megoldható úgy, hogy az űrlap rendelkezik egy rejtett beviteli mezővel, és csak akkor szúrúnk be adatokat, ha ez a mező is értéket kapott, ami a ”Küldés” gombra való kattintással meg is történik Az insert.php fájl a módosítás után:   <form action="insert.php" method="post">  … <input type="hidden" name="kuld"></form><?php if (isset($_POST['kuld'])) {… // beszúrjuk az adatokat}?> Hozzuk létre a következő sémával rendelkező táblát: Könyv (sorszám, szerző, cím) !  Készítsünk egy oldalt, amelyen megjelennek a táblában lévő könyvek adatai táblázatos formában!   Készítsünk egy oldalt az új könyvek felvételéhez!   Készítsünk egy legördülő listát, amely a könyvek címét tartalmazza (, a kulcsa pedig a könyvek sorszáma). Ezt helyezzük el egy űrlapba, amiről egy olyan oldalra juthatunk, ami a kiválasztott könyv adatait jeleníti meg!   Oldjuk meg az előzőt egy fájlban! 


Nincsenek megjegyzések:

Megjegyzés küldése