Mivel a hallgatóknak van létrehozva EHA kód (.PTE nélkül) alapján adatbázis és nincs joguk újat létrehozni, ezért hibaüzenetet kapnak.">

Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Tananyag: 4. 5. konzultáció Adatbázis-MYSQL. Mysql-Php csatlakozás Include.php tartalma:

Hasonló előadás


Az előadások a következő témára: "Tananyag: 4. 5. konzultáció Adatbázis-MYSQL. Mysql-Php csatlakozás Include.php tartalma:

1 Tananyag: konzultáció Adatbázis-MYSQL

2 Mysql-Php csatlakozás Include.php tartalma: //Definiálunk változókat egy külső fájlban. Külön fájlban definiálás nélkül is csatlakozhatunk pl.: mysql_pconnect(‘hostnév’,’felhasználónév’,’jelszó’) or die ($hibauzenet); - viszont külső fájl segítségével, csak 1 helyen szükséges megadni az adatokat. Ha módosításra van szükség, akkor csak 1 fájlt kell módosítani (pl.: Jelszóváltás esetén)

3 Mysql – adatbázis létrehozása Adatbázist egyszerűen phpmyadmin segítségével hozhatunk létre, ami egy webes grafikus felület a mysql-hez. Telepítése az útmutatóban. Phpmyadmin nélkül is alakíthatjuk adatbázisunk tábláit,mezőit és adatait. Adatbázis létrehozása (a gyakorlatokon erre nem lesz szükség): Mivel a hallgatóknak van létrehozva EHA kód (.PTE nélkül) alapján adatbázis és nincs joguk újat létrehozni, ezért hibaüzenetet kapnak.

4 Mysql – egy kis elmélet… Adatbázisok táblákból, mezőkből és adatokból épülnek fel. Ezeket úgy kell elképzelni, mint egymásba helyezhető dobozokat: táblában vannak a mezők, a mezőkben az adatok. Általában vannak elsődleges mezők, melyek kulcsként funkcionálnak és segítségükkel több táblát tudunk összekapcsolni.Példa: Adatbázisunknak van 2 táblája: kategoria és alkategoria néven. kategoria tábla mezői: id (egyedi azonosító, típusa: egész szám, automatikusan növekvő) nev (szöveges tartalom, típus: karakter) alkategoria tábla mezői: id (egyedi azonosító, típusa: egész szám, automatikusan növekvő) kat_id (típusa: egész szám) // kat_id tartalmazza a másik tábla id mezőjét, így össze tudjuk kötni a két táblát és adataikat. nev (szöveges tartalom, típus: karakter)

5 Mysql – egy kis elmélet… kategoria tábla adatai (id, nev): 1, Háziállatok 2, Vadállatok alkategoria tábla adatai (id, kat_id, nev): 1, 2, Tigris 2, 1, Nyúl 3, 1, Tyúk 4, 2, Zebra Egyszerű adatbázis felépítésnél felmerül a kérdés, hogy miért készítettünk 2 táblát? Bonyolultabb felépítés esetén sok kis tábla kezelése gyorsabb futást eredményez, mintha lenne 1 táblánk 50 mezővel.

6 Mysql – adattípusok Néhány fontosabb adattípus a Mysql-ben a teljesség igénye nélkül: INT – egész szám, hosszt nem kötelező megadni. Alapesetben 11 karakter. VARCHAR (hossz), bármilyen karaktert tárolhat, hossz megadása kötelező, maximum 255 karakter. CHAR (hossz ), bármilyen karaktert tárolhat, hossz megadása kötelező, használata rövid sztringek esetén javasolt, egyébként inkább varchar-t használj. TEXT, bármilyen karaktert tárolhat, hossz megadása nem kötelező, használata hosszú szövegek esetén javasolt. FLOAT – nem egész számok (Pl.: 3.13), hosszt nem kötelező megadni. DATE – dátumok tárolására szolgál. ÉÉÉÉ-HH-NN formában. DATETIME – dátum és idő tárolására szolgál. ÉÉÉÉ-HH-NN ÓÓ:PP:SS formában.

7 Mysql – tábla és mező létrehozása

8 Mysql adatfelvitel Adatfelvitel: INSERT INTO paranccsal lehet adatokat felvinni. $be = "insert into kategoria (id,nev) values (‘’, ‘megadott_szoveg’)"; mysql_query($be) or die(mysql_error()); $be2 = "insert into alkategoria values (‘’, ‘3’, ‘megadott_szoveg’)"; mysql_query($be2) or die(mysql_error()); Pl.: Az id értéke azért üres, mert automatikusan növekvő és kap értéket felvitelkor. Pl.: ha van ben ilyen sor, hogy 1, szöveg, akkor a következő sor id értéke automatikusan 2 lesz. A mezők felsorolása nem kötelező (második felvitel), de ha megadjuk, akkor a megadott values értékekkel azonos számú mezőt fel kell sorolnunk

9 Mysql adatlekérés Adat lekérés: $be = "select * from tabla_neve where feltételek order by rendezés limit mettől,mennyit"; $bebe = mysql_query($be) or die(mysql_error()); A * paraméterrel az összes mezőt lekérjük. Ha pl * helyett beírnánk, hogy nev, akkor csak a nev mező tartalmát kérjük le. Több mező lekérésekor vesszővel soroljuk fel őket. A where nem kötelező, feltételeket lehet kötni a lekérdezéshez. Az order by záradékkal rendezett lekérdezést hajthatunk végre. Szintén elhagyható. Ha nincs megadva, akkor a kulcs alapján rendez és A-Z ill. 1-…. egyébkét a megadott mező értékei alapján rendez. Az order by desc segítségével lehet fordítottan rendezni. A limit-el lehet adott számú lekérést megszabni. Pl.: 0-> 5 db elemet akarunk lekérni, akkor limit 0,5. Szintén elhagyható rész.

10 Mysql adatlekérés Példa alapján: $sql = "select * from kategoria"; /* Néhány variáns: $sql = "select * from kategoria order by nev asc"; - nev mező szerint rendezve listázza az első 5 sort. $sql = "select * from kategoria where id>10"; - azokat listázza, ahol id értéke nagyobb, mint 10.*/ $lekert_sorok = mysql_query($sql) or die (mysql_error()); // ténylegesen végrehajtódik az sql lekérés if (mysql_num_rows($lekert_sorok)>0) { //a mysql_num_rows megszámolja a sikeresen lekért sorok számát, a feltétel teljesül, ha legalább 1 sor adat van ami a lekérésnek megfelel. while ($sorok = mysql_fetch_array($ lekert_sorok, MYSQL_ASSOC)) { //a mysql_fetch_array függvény a kapott eredményeket soronként lebontva, adja vissza. print ‘Név mező: ’.$sorok[‘nev'].' '; /* a kívánt adatot a lekért sorokból (tömbök) a mező nevére hivatkozva érjük el. Mivel a while ciklus addig fut, amíg van adat, ezért a példa alapján az összes felvitt név mezőérték kiíródik.*/ }}

11 Mysql where/feltételek Sql utasításokban a where szócska után feltételeket használhatunk. Logikai kapcsolatok és operátorok használata megengedett. Pl.: $sql = "select * from kategoria where id=‘10’ or id=‘13’ "; //kategoria táblából lekér minden mezőt, ahol id értéke 10 VAGY 13. $sql = "select * from kategoria where id>‘10’ and id ‘10’ and id<‘13’ "; //kategoria táblából lekér minden mezőt, ahol id értéke nagyobb mint 10 és kisebb mint 13.LIKE: $sql = "select * from kategoria where nev like ‘%szöveg%’ "; A like parancs keresést eredményez a mező tartalmában. Jelen példa alapján azokat a sorokat kéri le, ahol nev mező tartalmában megtalálható a szöveg sztring. A % jel hatására találat lesz pl.: gggszövegkkk is, azaz szövegrészt keres. A % jelek elhagyhatóak.

12 Mysql módosítás-törlés Adat módosítás: $be = „update tabla_neve set mező_neve=‘mire’, mező_neve2=‘mire’ where feltételek "; mysql_query($be) or die(mysql_error()); Pl.: $be = " update kategoria set nev=‘Valami szöveg’ where id=‘4’ "; A feltételek (where) alapján (4-es id-jű) a kívánt mező (nev) tartalma módosul. Feltétel nélkül minden sort módosított volna a script. Adattörlés: $be = „delete from tabla_neve where feltételek "; mysql_query($be) or die(mysql_error()); Pl.: $be = „delete from kategoria where id=‘2’ ”; A feltételek alapján a kívánt tartalom (2. id-jű sor) törlésre kerül. Feltétel nélkül minden sort töröl a script.


Letölteni ppt "Tananyag: 4. 5. konzultáció Adatbázis-MYSQL. Mysql-Php csatlakozás Include.php tartalma:

Hasonló előadás


Google Hirdetések