Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70...

70
B I T M A N 1/70 B I T M A N v: 2014.03.08 5. Ea: MySQL - PHP Adatbázis Rendszerek II.

Transcript of Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70...

Page 1: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 1/70 B I T M A N v: 2014.03.08

5. Ea: MySQL - PHP

Adatbázis Rendszerek II.

Page 2: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 2/70

Témakörök

A kategória tábla PHP programja

Tárolt rutinok hívása PHP-ből

PHP előkészületek

PHP adatbázis alapok

Tranzakció kezelés PHP-ből

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Page 3: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 3/70

HTML, PHP alapok (gyorstalpaló)

HTML alapok (gyorstalpaló)

PHP alapok (gyorstalpaló)

Page 4: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 4/70

HTML alapok 1.

A HTML dokumentum egy olyan szövegfájl, amely a

szövegen kívül tartalmaz ún. "HTML-tag"-eket –

formázóutasításokat –, valamint más megjelenítendő

objektumokra történő hivatkozásokat is.

Megjelenítése böngésző programmal lehetséges

Kötött szerkezetű

– Fejléc – Head

– Dokumentumtörzs – Body

A HTML utasítások a szövegben < és > jelek között

szerepelnek

Formázási lehetőségek: mint egy szövegszerkesztőben

– Betűtípus, méret, szín, háttérszín, bekezdés, táblázat…

Page 5: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 5/70

HTML alapok 2.

<HTML>

<HEAD>

<TITLE> Az oldal címe </TITLE>

</HEAD>

<BODY>

Helló Világ!

</BODY>

</HTML>

1. Jegyzettömb, beírás 2. Mentés: pl. prb.htm 3. Megnézés

böngészőben 2x

Page 6: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 6/70

Az igazi kód…

Page 7: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 7/70

HTML alapok 3. Almalap elkészítése – 1.

Oldal címe

Félkövér szöveg

Kép

Link

Normál szöveg több sorban

Page 8: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 8/70

Bekezdés

Félkövér Félkövér <HTML>

<HEAD><TITLE> Almalap </TITLE></HEAD>

<BODY>

<p> <b> Az alma: </b> <br>

- Finom,<br>

- Mókás,<br>

- Szeletelt</p>

<p> <img src="alma.jpg" width="170" height="176">

<br><br>

AlmaInfo:

<a href="http://www.almalap.hu/">Az alma honlapja</a>

</p>

</BODY>

</HTML>

HTML alapok 4. Almalap elkészítése – 2.

Sortörés

Bekezdés

Kép beszúrás: fájl neve, szélesség, magasság

Link beszúrás: hivatkozás, megjelenő szöveg

Page 9: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 9/70

Címszintek

Címek, alcímek 6 szint mélységben

<H1 ALIGN="irány"> Szöveg </H1>

<H2 ALIGN="irány"> Szöveg </H2>

NOWRAP – Sortörés kikapcsolása

<hr /> – Vízszintes vonal

<HTML><HEAD><TITLE> HTML próbalap </TITLE> </HEAD>

<BODY>

<H1 ALIGN="left"> Szöveg </H1>

<H2 ALIGN="center"> Szöveg </H2>

<H3 ALIGN="right"> Szöveg </H3>

</BODY>

</HTML>

Page 10: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 10/70

Karakterformátumok

<b>Szöveg</b><br> – félkövér

<i>Szöveg</i><br> – dőlt

<u>Szöveg</u><br> – aláhúzott

<s>Szöveg</s><br> – áthúzott

<tt>Szöveg</tt><br> – fixpontos

<big>Szöveg</big><br> – nagyméretű

<small>Szöveg</smallbig><br> – kisméretű

H<sub>2</sub>SO<sub>4</sub><br> – alsó

index

16<sup>30</sup><br> – felső index

<FONT FACE="név" COLOR="szín" SIZE=szám> … </FONT>

Page 11: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 11/70

Karakterformátumok

<HTML>

<HEAD><TITLE> HTML próbalap </TITLE></HEAD>

<BODY>

<p>

<font size="5" face="arial" color="red">

Arial, 5-ös méretű, piros szöveg.

</font></p>

<p>

<font size="3" face="times" color="blue">

Times, 3-as méretű, kék szöveg.

</font></p>

</BODY>

</HTML>

Page 12: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 12/70

FFF

FFF

CCC

CCC

999

999

666

666

333

333

000

000

FFC

C00

FF9

900

FF6

600

FF3

300

99C

C00

CC9

900

FFC

C33

FFC

C66

FF9

966

FF6

633

CC3

300

CC0

033

CCF

F00

CCF

F33

333

300

666

600

999

900

CCC

C00

FFF

F00

CC9

933

CC6

633

330

000

660

000

990

000

CC0

000

FF0

000

FF3

366

FF0

033

99F

F00

CCF

F66

99C

C33

666

633

999

933

CCC

C33

FFF

F33

996

600

993

300

663

333

993

333

CC3

333

FF3

333

CC3

366

FF6

699

FF0

066

66F

F00

99F

F66

66C

C33

669

900

999

966

CCC

C66

FFF

F66

996

633

663

300

996

666

CC6

666

FF6

666

990

033

CC3

399

FF6

6CC

FF0

099

33F

F00

66F

F33

339

900

66C

C00

99F

F33

CCC

C99

FFF

F99

CC9

966

CC6

600

CC9

999

FF9

999

FF3

399

CC0

066

990

066

FF3

3CC

FF0

0CC

00C

C00

33C

C00

336

600

669

933

99C

C66

CCF

F99

FFF

FCC

FFC

C99

FF9

933

FFC

CCC

FF9

9CC

CC6

699

993

366

660

033

CC0

099

330

033

33C

C33

66C

C66

00F

F00

33F

F33

66F

F66

99F

F99

CCF

FCC

CC9

9CC

996

699

993

399

990

099

663

366

660

066

006

600

336

633

009

900

339

933

669

966

99C

C99

FFC

CFF

FF9

9FF

FF6

6FF

FF3

3FF

FF0

0FF

CC6

6CC

CC3

3CC

003

300

00C

C33

006

633

339

966

66C

C99

99F

FCC

CCF

FFF

339

9FF

99C

CFF

CCC

CFF

CC9

9FF

996

6CC

663

399

330

066

990

0CC

CC0

0CC

00F

F33

33F

F66

009

933

00C

C66

33F

F99

99F

FFF

99C

CCC

006

6CC

669

9CC

999

9FF

999

9CC

993

3FF

660

0CC

660

099

CC3

3FF

CC0

0FF

00F

F66

66F

F99

33C

C66

009

966

66F

FFF

66C

CCC

669

999

003

366

336

699

666

6FF

666

6CC

666

699

330

099

993

3CC

CC6

6FF

990

0FF

00F

F99

66F

FCC

33C

C99

33F

FFF

33C

CCC

339

999

336

666

006

699

003

399

333

3FF

333

3CC

333

399

333

366

663

3CC

996

6FF

660

0FF

00F

FCC

33F

FCC

00F

FFF

00C

CCC

009

999

006

666

003

333

339

9CC

336

6CC

000

0FF

000

0CC

000

099

000

066

000

033

663

3FF

330

0FF

00C

C99

009

9CC

33C

CFF

66C

CFF

669

9FF

336

6FF

003

3CC

330

0CC

00C

CFF

009

9FF

006

6FF

003

3FF

Biztonságos színek és Hexa kódjuk.

Page 13: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 13/70

<TABLE> <TBODY>

<TR> <TD> ID </TD>

<TD>NÉV</TD>

<TD>SZÜLÉV</TD>

<TD>CÍM</TD> </TR>

<TR><TD>1</TD>

<TD>Béla</TD>

<TD>1990</TD>

<TD>Budapest</TD></TR>

<TR><TD>2</TD>

<TD>Géza</TD>

<TD>1992</TD>

<TD>Győr</TD></TR>

<TR><TD>3</TD>

<TD>Jenő</TD>

<TD>1993</TD>

<TD>Miskolc</TD></TR>

</TBODY> </TABLE>

Táblázatok

Táblázat

kezdete

Sor

Oszlop

Page 14: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 14/70

Hiperhivatkozások a webhelyen

index.html

www.uw.hu

Page 15: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 15/70

Weblapon belüli linkek

<HTML>

<HEAD><TITLE> HTML próbalap </TITLE></HEAD>

<BODY>

Szöveg<br>

<a name="hsz">Hasznos szöveg</a> <br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

Szöveg<br>

<a href="#hsz">Ugrás a Hasznos szöveghez</a> <br>

Szöveg<br>

</BODY>

</HTML>

Page 16: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 16/70

Webhelyen belüli és külső linkek

<a href="mam.htm">Mai menü</a>

<a href="fotok/foto.htm">Fotók</a>

<a href="http://www.w3schools.com/">Link a W3Schools

weblapra</a>

<a href="http://www.w3schools.com/" target="_blank"

>Link a W3Schools weblapra</a>

Page 17: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 17/70

Dinamikus weblapok

A linkek hasznosak, de statikusak.

Dinamikus lesz a weblap, ha adatokat tudunk bevinni, és

nyomógombok segítségével műveleteket indíthatunk el.

Az adatok bevitelére, és a nyomógombok

megjelenítésére alkalmas a HTML nyelv, de az adatok

és a műveletek kezelésére valamilyen programnyelv

szükséges! Pl.: PHP

Page 18: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 18/70

HTML űrlap – Be.html

<html>

<head>

<title> Bejelentkezés </title>

</head>

<body>

<form action="be_feldolgozo.php" method=post>

<p>Kérem a nevemet: <br>

<input type = text name="tm" size=17>

<p><input type=submit name="kuldes" value="Belépek">

</form>

</body>

</html>

Page 19: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 19/70

Feldolgozás – be_feldolgozo.php

<?php

$aa = $_POST['tm'];

print 'Szia '.$aa.'!';

?>

<form action="Be.html">

<br>

<input type=submit name="vissza" value="Vissza">

</form>

Page 20: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 20/70

HTML űrlap – Beviteli elemek

<input type= xxx >

text

password

checkbox

radio

select

submit

reset

B I T M A N

Page 21: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 21/70

HTML űrlap – Beviteli elemek (2)

<form>

<p>Kérem a nevemet: <br>

<input type=text name="tm" size=17> </p>

<p>Kérem a jelszavamat: <br>

<input type=password name="tm2" size=17> </p>

<p>Naplózás: <input type=checkbox name="tm3">

Titkosítás: <input type=checkbox name="tm4"

checked="checked"> </p>

Page 22: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 22/70

HTML űrlap – Beviteli elemek

<p>Betűméret: S<input type=radio name="tmr" value="S">

M<input type=radio name="tmr" value="M">

L<input type=radio name="tmr" value="L" checked="checked">

XL<input type=radio name="tmr" value="XL"></p>

Módszer:

<SELECT NAME="menu">

<OPTION> Lassan, ráérek.

<OPTION> Tempósan, sietek!

<OPTION> Még nem vagy kész?

</SELECT><br><br><br>

<p><input type=submit name="kuldes" value="Belépek">

<input type="reset" value="Töröl"></p>

</form> B I T M A N

Page 23: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 23/70

HTML, PHP alapok (gyorstalpaló)

HTML alapok (gyorstalpaló)

PHP alapok (gyorstalpaló)

Page 24: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 24/70

A cél:

Webes kliensről manipulálni az adatbázist.

Page 25: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 25/70

A megoldás:

PHP alkalmazása

Szerver-oldal

<HTML>

<HEAD>

<TITLE>

PHP

</TITLE>

</HEAD>

HTTP SQL

HTML

Kliens-oldal

<?php $connect

Piros Kék Zöld

Piros, Kék, Zöld

Page 26: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 26/70

Név

Web böngésző

http://helo.php

PHP

feldolgozó

PHP

file

HTML

Jelszó DBMS

Adatbázis

szerver

Web szerver

A PHP működése

Page 27: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 27/70

PHP

1995: Rasmus Lerdorf, Personal Home Page Tools

1997: PHP 3.0, Hypertext Preprocessor

Szerver oldali programozási nyelv,

Dinamikus HTML oldalak készítésére,

Nyílt forráskódú,

Hordozható: UNIX, Linux, Windows változatok,

Apache és IIS alatt egyaránt működik.

B I T M A N

Page 28: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 28/70

Tudattágítók

Rasmus Lerdorf, Andi Gutmans, Zeev Suraski

Page 29: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 29/70

Dinamikus HTML oldal PHP-vel

<HTML>

<HEAD><TITLE>HTML PHP-vel!</TITLE></HEAD>

<BODY>

Kakukk! <br>

A mai dátum: <?php echo date("Y.M.d"); ?> <br>

Az aktuális időpont :

<?php echo date("H"); ?> óra,

<?php echo date("i"); ?> perc,

<?php echo date("s"); ?> másodperc.

</BODY>

</HTML>

F5 Mitől dinamikus?

Page 30: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 30/70

PHP 2 perc alatt – 1. perc

A PHP kód kezdete: <?php . . . vége: ?>

Szintaxis:

– Változók: – Gyengén típusos nyelv!

• $szoveg = "Kakukk"; $egész = 123; $tört = 18.39;

• $napok = array("hétfő", "kedd",); $napok[ ] = "szerda";

• $szam = array("egy"=> 55, "ketto"=>37); $szam["három"]=26;

– Automatikus típuskonverzió!

– Operátorok:

• $a, $b, $c = 3; $sz1, $sz2 = "retek";

• ++$a; --$a; $a *= $b; $a = $b / $c; $a = $b % $c;

• $sz = $sz1.$sz2; → retekretek $sz1 .= $sz2

• If ($a == 7) then, If ($a === $b) then, If ($a !== $b) then

• !, &&, ||, xor,

Page 31: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 31/70

PHP 2 perc alatt – 2. perc

A PHP kód kezdete: <?php . . . vége: ?>

Szintaxis:

– If (feltétel) { utasítások; } elsif { …; } else { …; }

– Switch (változó) case címke: utasítás; break; default:

– While (feltétel) { utasítások; }

– Do { utasítások; } while (feltétel);

– For (kezdőérték; kilépési feltétel; növekmény){

utasítások; }

• Pl.: for ($s=0, $i=1; $i<=10; ++$i) { $s += $i; }

– Kommentek: /* … */, vagy sor elején //, #

Page 32: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 32/70

Az adatbázis-programozás lépései

Lekérdezés

Lekapcsolódás

Kapcsolódás

Eredmények

feldolgozása

Page 33: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 33/70

Az adatbázis-programozás lépései

Lekapcsolódás

Driver regisztrálása

Kapcsolódás a DBMS-hez

Kapcsolódás

Lekérdezés

Eredmények

feldolgozása

Page 34: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 34/70

Az adatbázis-programozás lépései

Lekapcsolódás

Eredmények

feldolgozása

SQL kérés (STATEMENT)

összeállítása

SQL kérés elküldése

Kapcsolódás

Lekérdezés

Page 35: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 35/70

Az adatbázis-programozás lépései

Lekapcsolódás

Kapcsolódás

Az eredményhalmaz (CURSOR)

rekordonkénti bejárása

Az értékek átadása

programváltozóknak

Lekérdezés

Eredmények

feldolgozása

Page 36: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 36/70

Az adatbázis-programozás lépései

Kapcsolódás

Lekérdezés

Eredmények

feldolgozása

Eredményhalmaz lezárása

SQL kérés lezárása

Kapcsolat lezárása Lekapcsolódás

Page 37: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 37/70

beurlap.html

<html>

<head>

<title> Bejelentkezés </title>

</head>

<body>

<form action="belep.php" method=post>

<p>Kérem a nevet: <br>

<input type=text name="nev" size=20>

<p>Kérem a jelszót: <br>

<input type=password name="psw" size=20>

<p><input type=submit name="kuldes" value="Belépek"></p>

</form>

</body>

</html>

Page 38: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 38/70

belep.php

<?php

$conn = mysqli_connect("localhost","root","root","ceg");

$jsz = $_POST['psw'];

$sql = "select jelszo from melos where nev= '$_POST[nev]'";

$qq = mysqli_query($conn, $sql);

$adat = mysqli_fetch_array($qq);

If ($adat["jelszo"] == $jsz){echo "Szia User! Dolgozhatsz!";}

else { echo "Nem ismerlek! Nem dolgozhatsz!";}

mysqli_close($conn);

?>

Page 39: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 39/70

Témakörök

A kategória tábla PHP programja

Tárolt rutinok hívása PHP-ből

PHP előkészületek

PHP adatbázis alapok

Tranzakció kezelés PHP-ből

PHP, HTML alapok (gyorstalpaló)

Melós (miniprogram)

Page 40: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 40/70

PHP – MySQL kapcsolat

Page 41: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 41/70

A feladat alapja:

A Melos tábla:

Create table Melos(

Azon char(3) primary key,

Nev char(20),

Fizetes integer(6));

Melos

Nev

Fizetes

Azon 1

2

Page 42: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 42/70

abkezel.php (1. rész)

<html><head><title> ab kezelő </title>

</head><body>

<p><b>Adatfelvitel</b></p>

<form action="insert.php" method=post>

<p>Kérem az azonosítót: <br>

<input type=text name="az" size=4>

<p>Kérem az új nevet: <br>

<input type=text name="tm" size=20>

<p>Kérem a fizetést: <br>

<input type=text name="tm2" size=12>

<p><input type=submit name="küldés" value="Beszúr">

<input type="reset" value="Ürít"></p>

</form><br> B I T M A N

Page 43: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 43/70

<p><b>Adatmódosítás</b></p>

<form action="updatefiz.php" method=post>

<p>Kérem az azonosítót: <br>

<input type=text name="az" size=4>

<p>Kérem az új fizetést: <br>

<input type=text name="fiz" size=6>

<p><input type=submit name="küldés2"

value="Módosítás"></p>

</form><br>

abkezel.php (2. rész)

Page 44: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 44/70

<p><b>Adattörlés</b></p>

<form action="delete.php" method=post>

<p>Kérem a törlendő azonosítót: <br>

<input type=text name="dr" size=4>

<p><input type=submit name="küldés4"

value="Rekord törlése"></p>

</form><br>

<p><b>Lista</b></p>

<form action="kiirciklus.php" method=post>

<p><input type=submit name="küldés3"

value="Kiíratás"></p>

</form>

</body> </html>

abkezel.php (3. rész)

B I T M A N

Page 45: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 45/70 B I T M A N

Page 46: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 46/70

PHP – MySQL kapcsolat

Mysql csomag

Függvények, eljárások gyűjteménye, melyekkel megvalósítható az adatbázis-kezelés PHP-ből.

Helye: a PHP csomagban a php_mysql.dll

Engedélyezése: php.ini fájlban kivenni a ;-t:

; extension=php_mysql.dll

A PHP kódok futtatásához szükséges egy webszerver, ami alá telepítve van a PHP.

Otthonra:

– XAMPP (Apache, MySQL, PHP, …)

– Letöltés: xampp.fs.net

Page 47: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 47/70

PHP – MySQL – insert.php

<?php

$conn = mysqli_connect("localhost","root","root","proba");

$sql = "insert into melos values

('$_POST[az]','$_POST[tm]',$_POST[tm2])";

if (mysqli_query($conn, $sql)){

echo "Rekord hozzáadva!";

} else { echo "Gond van!"; }

mysqli_close($conn);

?>

Page 48: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 48/70

PHP – MySQL – updatefiz.php

<?php

$conn = mysqli_connect("localhost","root","root","proba");

$sql = "update melos set fizetes=$_POST[fiz] where

azon='$_POST[az] ' ";

if (mysqli_query($conn, $sql)){

echo "Fizetés módosítva!";

} else { echo "Gond van!"; }

mysqli_close($conn);

?>

Page 49: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 49/70

PHP – MySQL – delete.php

<?php

$c = mysql_connect("hostnév","user","jelszó");

$mdb = mysql_select_db("dbnév",$c);

$sql = "delete from t1 where azon='$dr'";

$fut = mysql_query($sql,$c);

print $fut;

mysql_close($c);

?>

Page 50: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 50/70

PHP – MySQL – kiirciklus.php

<?php

$conn = mysqli_connect("localhost","root","root","proba");

$eredmeny = mysqli_query($conn, "select * from melos");

while($adat = mysqli_fetch_assoc($eredmeny))

{ print ("Azon: ".$adat["Azon"]." Név: ".$adat["Nev"]."

Fizetés: ".$adat["Fizetes"]);

print("<br>");

}

mysqli_close($conn);

?>

Page 51: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 51/70

Témakörök

A kategória tábla PHP programja

Tárolt rutinok hívása PHP-ből

PHP adatbázis alapok

Tranzakció kezelés PHP-ből

PHP, HTML alapok (gyorstalpaló)

Melós (miniprogram)

Page 52: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 52/70

Kategóriák lekérdezése

B I T M A N

Page 53: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 53/70

Kapcsolódás – Vizsgálat

Access denied for user 'root'@'localhost' (using password:

YES)

Nincs ilyen ismert állomás.

Page 54: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 54/70

PHP – Elegáns megoldás

Kapcsolódási metódusok elhelyezése fájlban.

B I T M A N

1

2

1

2

Page 55: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 55/70

HTML – Elegáns megoldás

Táblázatos formátumú kiíratás

Page 56: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 56/70

Témakörök

A kategória tábla PHP programja

Tárolt rutinok hívása PHP-ből

PHP adatbázis alapok

Tranzakció kezelés PHP-ből

PHP, HTML alapok (gyorstalpaló)

Melós (miniprogram)

Page 57: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 57/70

Bolt adatbázis

Termék

Tkód Név

Leírás

Ár

Vásárlás

Kategória

Kkód Név

K-T

Vásárló

VID

Név

Cím

Sorszám

Időpont

Darab

Fizetés

Fkód Leírás

V-F

Page 58: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 58/70

Termék

Vásárlás

Bolt – Struktúra

Időpont Sorszám Darab Tkód VID

Név

Kategória

Leírás

Fizetés

Név Tkód Ár Leírás

Vásárló

Név

Kategória

VID Cím

Kkód

Fizmód Fkód

Page 59: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 59/70

Táblajáték – Kategória

Create database bolt;

Use bolt;

Create table Kategória(

Kkód char(3) primary key,

Név varchar(20) not null,

Unique (Név));

Page 60: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 60/70

A Kategória tábla kezelő felülete

KategoriaKezelo.php

3

1

2

4

Page 61: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 61/70

3

1

2

B I T M A N

Page 62: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 62/70

4

Page 63: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 63/70

katlista.php (3)

B I T M A N

1

Page 64: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 64/70

katlista.php (4) 1

Page 65: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 65/70

katnev.php (2) 2

Page 66: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 66/70

A KategoriKezelo.php ablakában íródik ki az eredmény

Kategória keresés – B-verzió (1)

B I T M A N

2B

Page 67: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 67/70

2B

B I T M A N

Page 68: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 68/70

ujkat.php (2) 3

Page 69: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 69/70

kattorol.php (2) 4

Page 70: Adatbázis Rendszerek II.users.iit.uni-miskolc.hu/~szucs/ab2/levoa/1405_MySql_PHP5_uj.pdf · 12/70 b i t m a n fff fff ccc ccc 999 999 666 666 333 333 000 000 ffc c00 ff9 900 ff6

B I T M A N 70/70

VÉGE V É G E