8. oracle - phpusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_ora_php.pdf · 127/4 b it man html...

127
B IT M A N 127/1 v: 2016.03.14 B IT M A N Adatbázis Rendszerek II. 8. Oracle - PHP

Upload: others

Post on 12-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/1 v: 2016.03.14B IT MAN

Adatbázis Rendszerek II.

8. Oracle - PHP

Page 2: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/2

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 3: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/3

HTML, PHP alapok (gyorstalpaló)

HTML alapok (gyorstalpaló)

PHP alapok (gyorstalpaló)

Page 4: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/4

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ű

– Head – Fejléc: információk a lapról

– Body – Dokumentumtörzs: a megjelenő tartalom

– 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: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/5

HTML alapok 2.

<html>

<head>

<title>Első weboldalam</title>

</head>

<body>

<p>Helló Világ!</p>

</body>

</html>

1. Jegyzettömb, beírás2. Mentés: pl. prb.htm3. Megnézés

böngészőben2x

Page 6: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/6

HTML alapok 3.

almalap.htm

<html><head>

<title>AlmaLap</title></head><body>

<p> <!-- bekezdés --><b>Az alma:</b><br>

</p><ul> <!-- felsorolás -->

<li>Finom,</li><li>Mókás,</li><li>Szeletelt.</li>

</ul><p>

<img src="alma.jpg" width="160" height="170"> <!-- kép --><br> <!-- sortörés -->AlmaInfo: <a href="http://www.almalap.hu/">Link az AlmaLapra</a>

</p></body>

</html>

Page 7: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/7

Milyen szerkesztőt használjunk

Jegyzettömb Notepad++

Page 8: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/8 B IT MAN

Az igazi kód…

Page 9: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/9

Címszintek, igazítás

Címek, alcímek 6 szint mélységben (h1..h6)

<h1 align="irány"> Szöveg </h1>

<h2 align="irány"> Szöveg </h2>

Page 10: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/10

Címszintek, igazítás

www.minta.hu

Forráskód

<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 11: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/11

A dokumentum tagolása – Bekezdések, blokkok

<div align= "irány"> <!–névtelen blokk -->szövegek, képek…

</div>

<p align= "irány"> <!– bekezdés-->szövegek, képek…

<br> <!-- sortörés -->

&nbsp; <!– non-breaking space, nem eltávolítható szóköz -->

</p>

<div class= "név" align= "irány"><!–nevesített blokk-->szövegek, képek…

</div>

Page 12: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/12

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>

www

Page 13: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/13

<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>

Karakterformátumok

www.bitman.hu

Forráskód

Page 14: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/14

Színkódok

A színkódok megadhatók:

– Névvel: "darkblue",

– Hexa kóddal: "#00008b",

– RGB kóddal: "rgb(0,0,139)",

Page 15: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/15

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.

B IT MAN

Page 16: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/16

<ul> <li>Hapci</li><li>Morgó</li> <li>Szundi</li>

</ul>

<ol> <li>Elment vadászni,</li><li>Meglőtte,</li> <li>Hazavitte,</li> <li>Mind megette.</li>

</ol>

Felsorolás – számozás

www.bitman.hu

Forráskód

Page 17: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/17

<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

www.bitman.hu

Page 18: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/18

Külső szegély,

és mérete

Táblázatok (2)

<TABLE cellSpacing=1 cellPadding=6 width=282 border=1

BgColor="FFFF99">

<TBODY>

<TR BgColor="FFFF33">

<TD width="15%"><P>ID</P></TD>

<TD width="24%"><P>NEV</P></TD>

<TD width="29%"><P>SZULEV</P></TD>

<TD width="32%"><P>CIM</P></TD></TR>

<TR>

<TD><P align=right>1</P></TD>

<TD><P>Béla</P></TD>

<TD><P>1975</P></TD>

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

Háttérszín Cellák közti

távolság Cellamagasság

Teljes szélesség

Cella szélességwww.bitman.hu

Page 19: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/19

Linkek a webhelyen

index.html

www.origo.hu3

2

2

1

1. Weblapon belülre mutató link

2. Webhelyen belülre mutató link

3. Webhelyen kívülre mutató link

1

2

3

Page 20: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/20

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>

1

www.bitman.hu

Forráskód

Page 21: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/21

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>

2

3

Page 22: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/22

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 23: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/23

HTML űrlap – Be.html

Be.htm

<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="nev" size=17>

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

</form>

</body>

</html>

www.bitman.hu

Page 24: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/24

Feldolgozás – be_feldolgozo.php

www.bitman.hu

be_feldolgozo.php

<?php

$aa = $_POST['tm'];

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

?>

<form action="Be.html">

<br>

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

</form>

Page 25: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/25

www.bitman.hu

HTML űrlap – Beviteli elemek

<input type= xxx >

text

password

checkbox

radio

select

submit

reset

B IT MAN

Page 26: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/26

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 27: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/27

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 IT MAN

Page 28: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/28

HTML, PHP alapok (gyorstalpaló)

HTML alapok (gyorstalpaló)

PHP alapok (gyorstalpaló)

Page 29: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/29

A cél:

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

Page 30: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/30

A megoldás:

PHP alkalmazása

Szerver-oldal

<HTML>

<HEAD>

<TITLE>

PHP

</TITLE>

</HEAD>

HTTP SQL

HTML

Kliens-oldal

<?php $connect

PirosKékZöld

Piros, Kék, Zöld

Page 31: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/31

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 32: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/32

PHP történet

PHP v 7.0 – PHP Next Generation

PHP v 6.0 – Unicode támogatás (utf8, utf16), de nem adták ki!

PHP v 5.0 – OOP támogatás

PHP v 4.0

PHP Hypertext Preprocessor v 3.0

Personal Home Page Tools (PHP Tools v 2.0)

Personal Home Page Tools (PHP Tools v 1.0)

Personal Home Page/Forms Interpreter (PHP/FI)1994

1995

1996

1997

2000

2004

2010

2015

Page 33: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/33

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 IT MAN

Page 34: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/34

Tudattágítók

Rasmus Lerdorf, Andi Gutmans, Zeev Suraski

Page 35: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/35

PHP kód a HTML oldalon

phppl_1.php

<html>

<head>

<title>HTML PHP-vel!</title>

</head>

<body>

<?php

echo "Helló Világ!";

?>

</body>

</html>

phppl_1.php

<?php – a php kód kezdeteecho – a php kód kimenete, vissza-adott értéke?> – a php kód vége

phppl_1.php

<html><head>

<title>HTML PHP-vel!</title></head><body>

Helló Világ!</body></html>

Az oldal forráskódja

Page 36: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/36

Dinamikus HTML oldal PHP-vel

phppl_2.php

<html>

<head>

<title>HTML PHP-vel!</title>

</head>

<body>

Kakukk! <br>

A mai dátum: <?php echo date("Y.F.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>

www.bitman.hu

F5Mitől dinamikus?

Page 37: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/37

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 38: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/38

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 39: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/39

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

Lekérdezés

Lekapcsolódás

Kapcsolódás

Eredmények

feldolgozása

Page 40: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/40

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 41: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/41

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 42: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/42

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 43: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/43

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ásaLekapcsolódás

Page 44: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/44

beurlap.html

beurlap.htm

<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 45: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/45

belep.php v1

belep.php

<?php

$conn = oci_connect('system', 'jelszo', 'localhost/XE');

$jsz = $_POST['psw'];

$sqlp = "select jelszo from ouser where nev= '$_POST[nev]'";

$stmt = oci_parse($conn, $sqlp);

if ($stmt){

oci_execute($stmt, OCI_DEFAULT);

oci_fetch($stmt);

$kk = oci_result($stmt, "JELSZO");

if ($kk == $jsz) echo "Szia User! Dolgozhatsz!";

else echo "Nem ismerlek! Nem dolgozhatsz!";

oci_free_statement($stmt);

}

oci_close($conn);

?>

Kurzor deklarálása

Megnyitás

Kiolvasás

Lezárás

Page 46: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/46

belep.php v2

belep.php

<?php

$conn = oci_connect('system', 'jelszo', 'localhost/XE');

$jsz = $_POST['psw'];

$sqlp = "select jelszo from ouser where nev= '$_POST[nev]'";

$stmt = oci_parse($conn, $sqlp);

oci_execute($stmt);

$adat = oci_fetch_array($stmt, OCI_ASSOC);

if ($adat['JELSZO'] == $jsz) echo "Szia User! Dolgozhatsz!";

else echo "Nem ismerlek! Nem dolgozhatsz!";

oci_close($conn);

?>

Page 47: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/47

Szükséges összetevők

Adatbázis szerver: Oracle Express Edition 11g (12c)

PHP: letölthető önmagában, vagy programcsomag

részeként

Webszerver: letölthető önmagában, vagy

programcsomag részeként

Javaslat: XAMPP

– X – platformfüggetlen,

– Apache webszerver,

– MySQL adatbáziskezelő,

– PHP,

– Perl

Page 48: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/48

DB szerver: Oracle 11g Express Edition

Page 49: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/49

PHP – Oracle kapcsolat

Page 50: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/50

Webszerver: Apache (XAMPP)

Page 51: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/51

XAMPP Kezelőpult

B IT MAN

Page 52: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/52

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 53: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/53

PHP – Oracle kapcsolat

Page 54: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/54

PHP – Oracle kapcsolat

connect

password

Page 55: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/55

A feladat alapja:

A Melos tábla:

Create table Melos(

Azon char(3) primary key,

Nev varchar2(30),

Fizetes integer);

Melos

Nev

Fizetes

Azon

Parancssor

Melos

FizetesAzon Nev

Page 56: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/56

abkezel.htm (1. rész)

B IT MAN

abkezel.htm

<html>

<head>

<title> AB kezelő </title>

</head>

<body>

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

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

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

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

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

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

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

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

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

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

</form><br>

(3/1)

Page 57: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/57

abkezel.htm (2. rész)

B IT MAN

abkezel.htm

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

<form action="abupdatefiz.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">

</form><br>

(3/2)

Page 58: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/58

abkezel.htm (3. rész)

B IT MAN

abkezel.htm

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

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

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

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

<p><input type=submit name="küldés4" value="Rekord törlése">

</form><br>

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

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

<p><input type=submit name="küldés3" value="Kiíratás">

</form>

</body>

</html>

(3/3)

Page 59: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/59

PHP – Oracle – abinsert.php

abinsert.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$sqlp = "insert into melos values

('$_POST[uaz]','$_POST[unev]',$_POST[ufiz])";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Rekord hozzáadva!";} else { echo "Gond van!"; }

oci_close($conn);?>

Parancssor

Page 60: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/60

PHP – Oracle – abkiir.php v1

abkiir.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$stmt = oci_parse($conn, "select * from melos");if ($stmt){oci_execute($stmt, OCI_DEFAULT);while (oci_fetch($stmt)) {

$az = oci_result($stmt, "AZON");$ne = oci_result($stmt, "NEV");$fi = oci_result($stmt, "FIZETES");echo "Azonosító: ".$az." - Név: ".$ne." - Fizetés: ".$fi;

}oci_free_statement($stmt);

}oci_close($conn);

?>abkiir.php

Page 61: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/61

PHP – Oracle – abkiir.php v2

abkiir.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$stmt = oci_parse($conn, "select * from melos");if ($stmt){oci_execute($stmt, OCI_DEFAULT);while (oci_fetch($stmt)) {

$az = oci_result($stmt, 1);$ne = oci_result($stmt, 2);$fi = oci_result($stmt, 3);echo "Azonosító: ".$az." - Név: ".$ne." - Fizetés: ".$fi;

}oci_free_statement($stmt);

}oci_close($conn);

?>abkiir.php

A mezők számozása1-től indul!

Page 62: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/62

PHP – Oracle – abkiir.php v3

abkiir.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$stmt = oci_parse($conn, "select * from melos");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {

print ("Azonosító: ".$adat["AZON"]." - Név: ".$adat["NEV"]." - Fizetés: ".$adat["FIZETES"]);

print("<br>"); }oci_close($conn);

?>

abkiir.php

Page 63: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/63

PHP – Oracle – abkiir.php v4

abkiir.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$stmt = oci_parse($conn, "select * from melos");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_NUM)) {

print ("Azonosító: ".$adat[0]." - Név: ".$adat[1]." - Fizetés: ".$adat[2]);

print("<br>"); }oci_close($conn);

?>

abkiir.php

A tömb indexe0-tól indul!

Page 64: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/64

PHP – Oracle – abupdatefiz.php

abupdatefiz.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$sqlp = "update melos set fizetes=$_POST[fiz] where azon='$_POST[az]'";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Fizetés módosítva!";} else { echo "Gond van!"; }

oci_close($conn);?>

abkiir.php

Page 65: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/65

PHP – Oracle – abdelete.php

abdelete.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$sqlp = "delete from melos where azon='$_POST[taz]'";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Rekord törölve!";} else { echo "Gond van!"; }

oci_close($conn);?>

abkiirciklus.php

Page 66: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/66

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 67: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/67 B IT MAN

Page 68: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/68

PHP – Oracle kapcsolat

PHP-Oracle 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_oci8xxx.dll

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

; extension=php_oci8_12c.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 69: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/69

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 70: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/70

A kapcsolódás

mkapcs1.php

<?php$conn = oci_connect('system', 'rendszer', 'localhost/XE');if (!$conn){$err = oci_error();echo "Hibás Oracle kapcsolódás: ".$err['message'], "\n";

} else {echo "Sikeres kapcsolódás: ";}oci_close($conn);?>

Ha nem működik a szerver, vagy hibás a szerver neve:

www.bitman.hu

Hibás Oracle kapcsolódás: ORA-12514:

TNS:listener does not currently know of

service requested in connect descriptor

Page 71: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/71

A kapcsolódás

Hibás név vagy jelszó esetén:

www.bitman.hu

Hibás Oracle kapcsolódás:

ORA-01017: invalid

username/password; logon

denied

mkapcs1.php

<?php$conn = oci_connect('system', 'reszer', 'localhost/XE');if (!$conn){$err = oci_error();echo "Hibás Oracle kapcsolódás: ".$err['message'], "\n";

} else {echo "Sikeres kapcsolódás: ";}oci_close($conn);?>

Page 72: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/72

Kategóriák lekérdezése

kategoriak.php

<?php$conn = oci_connect('system', 'jelszo', 'localhost/XE');$stmt = oci_parse($conn, "select * from kategoria");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {

print ("Kód: ".$adat["KKOD"]." - Név: ".$adat["NEV"]);print("<br>");

}oci_close($conn);

?>

Page 73: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/73

sqlc.inc

<?php$conn = false;function MakeConn(){

global $conn;$conn = oci_connect('system', 'jelszo', 'localhost/XE');if (!$conn){$err = oci_error();echo "Hibás Oracle kapcsolódás: ".$err['message'], "\n";

}}function CloseConn(){

global $conn;oci_close($conn);

}?>

A kapcsolódás – Elegáns megoldás

kiir2.php

<?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select * from kategoria");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {print ("Kód: ".$adat["KKOD"]." - Név: ".$adat["NEV"]);print("<br>");

}CloseConn();

?> B IT MAN

Page 74: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/74

HTML – „Elegáns” megoldás

Táblázatos formátumú kiíratáskatlista1.php

<body BGCOLOR="FFFF99"><table width="200" border="1"> <tr> <th width="50"> <div align="center">Kód </div></th> <th width="150"> <div align="center">Név </div></th> </tr> <?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select * from kategoria");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {print '<tr><td>'.$adat["KKOD"].'</td><td>'.$adat["NEV"].'</td></tr>';

}CloseConn();

?></table>

Page 75: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/75

katlista2.php

<html><head><link rel="stylesheet" type="text/css" href="kl2.css"></head><body BGCOLOR="FFFF99"><div class="skTable" ><table width="200" border="1"> <tr> <td width="50"> <div align="center">Kód </div></td> <td width="150"> <div align="center">Név </div></td>

</tr> <?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select * from kategoria");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {

print '<tr><td>'.$adat["KKOD"].'</td><td>'.$adat["NEV"].'</td></tr>'; }CloseConn();

?></table></div><br><form action="KategoriaKezelo.php" method=post><input type=submit class="btn" name="vissza" value="Vissza">

</form>

Page 76: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/76 B IT MAN

Page 77: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/77 B IT MAN

Page 78: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/78

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 79: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/79

MiniBolt ER modell

Termek

Tkod Nev

Leiras

Ar

Vasarlas

Kategoria

Kkod Nev

K-T

Vasarlo

VID

Nev

Cim

Sorszam

Idopont

Darab

FizModok

Fkod Leiras

V-F

Page 80: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/80

MiniBolt struktúra modell

Termek

Vasarlas

IdopontSorszam DarabTkod VID

Nev

Kategoria

Leiras

FizModok

NevTkod Ar Leiras

Vasarlo

Nev

Kategoria

VID Cim

Kkod

Fizmod Fkod

Page 81: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/81

Táblajáték – Kategória

Nev

Kategoria

Kkod

Create table Kategoria(

Kkod char(3) primary key,

Nev varchar(20) not null,

Unique (Nev));

Parancssor

Ha nem létezne a tábla, hozd létre!

Page 82: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/82

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

KategoriaKezelo.php

3

1

2

4

Page 83: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/83

KategóriKezelő.php

KategoriaKezelo.php

<html><head><title> Kategória Kezelő </title>

</head><body BGCOLOR="66CC99" TEXT="003300">

<p><b>Kategória lista</b></p><form action="katlista.php" method=post><input type=submit name="lista" value="Listázás">

</form>

(3/1)

1

Page 84: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/84

KategóriKezelő.php

KategoriaKezelo.php

<p><b>Kategória kereső</b></p><form action="katnev.php" method=post><select name="kkodok"><?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select kkod from kategoria order by kkod");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {print '<option value="'.$adat['KKOD'].'">'.$adat['KKOD'].'</option>';}CloseConn();

?></select><input type=submit name="keres" value="Keresés">

</form>

(3/2)

2

Page 85: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/85

KategóriKezelő.phpKategoriaKezelo.php

<p><b>Új kategória</b></p><form action="ujkat.php" method=post>Kód: <input type=text name="ujkod" size=6><br><br>Név: <input type=text name="ujnev" size=20><br><br><input type=submit name="ujkat" value="Létrehozás">

</form><p><b>Kategória törlés</b></p><form action="kattorol.php" method=post><select name="ktkod"><?phpMakeConn();$stmt = oci_parse($conn, "select kkod from kategoria order by kkod");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {print '<option value="'.$adat['KKOD'].'">'.$adat['KKOD'].'</option>';

}CloseConn();

?></select><input type=submit name="torol" value="Törlés">

</form></body></html>

(3/3)

3

4

B IT MAN

Page 86: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/86

katlista.php v1katlista.php

<body BGCOLOR="FFFF99"><table width="200" border="1"> <tr> <th width="50"> <div align="center">Kód </div></th> <th width="150"> <div align="center">Név </div></th> </tr> <?php

include "seged.inc";MakeConn();$stmt = oci_parse($conn, "select * from kategoria");if ($stmt){

oci_execute($stmt, OCI_DEFAULT);while (oci_fetch($stmt)) {

$kk = oci_result($stmt, "KKOD");$kn = oci_result($stmt, "NEV");echo '<tr><td>'.$kk.'</td><td>'.$kn.'</td></tr>';

}oci_free_statement($stmt);CloseConn();

}?></table><br><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

1

B IT MAN

Kurzor deklarálása

Megnyitás

Kiolvasás

Lezárás

Page 87: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/87

katlista.php v2

katlista.php

<body BGCOLOR="FFFF99"><table width="200" border="1"> <tr> <th width="50"> <div align="center">Kód </div></th> <th width="150"> <div align="center">Név </div></th> </tr> <?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select * from kategoria");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {

print '<tr><td>'.$adat["KKOD"].'</td><td>'.$adat["NEV"].'</td></tr>'; }CloseConn();

?></table><br><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

1

B IT MAN

Page 88: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/88

katnev.php

katnev.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['kkodok'];$stmt = oci_parse($conn, "select nev from kategoria where Kkod='".$kk."'");oci_execute($stmt);$adat = oci_fetch_array($stmt, OCI_ASSOC);echo 'A '.$kk.' kategória neve: '.$adat['NEV'];CloseConn();

?><br><br><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

2

Page 89: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/89

Kategória keresés – B-verzió

KategoriaKezelo3.php

<p><b>Kategória kereső</b></p><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><select name="kkodok"><?phpinclude "seged.inc";MakeConn();$stmt = oci_parse($conn, "select kkod from kategoria order by kkod");oci_execute($stmt);while($adat = oci_fetch_array($stmt, OCI_ASSOC)) {print '<option value="'.$adat['KKOD'].'">'.$adat['KKOD'].'</option>';

}CloseConn();

?></select><input type=submit name="keres" value="Keresés"/></form>

2b(2/1)

Page 90: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/90

Kategória keresés – B-verzió

KategoriaKezelo3.php

<?phpif($_POST) {if(isset($_POST['kkodok'])) {if($_POST['kkodok'] == 'NULL') {echo '<p>Válassz ki egy Kategóriakódot,

aztán <strong>Keresés</strong>.</p>';} else {MakeConn();$kk = $_POST['kkodok'];$stmt = oci_parse($conn, "select nev from kategoria

where Kkod='".$kk."'");oci_execute($stmt);$adat = oci_fetch_array($stmt, OCI_ASSOC);echo 'A <strong>'.$kk.' </strong>kategória neve: <strong>'.

$adat['NEV'];CloseConn();

}}

}?>

2b(2/2)

Page 91: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/91

ujkat.php

ujkat.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$sqlp="INSERT INTO Kategoria VALUES ('$_POST[ujkod]','$_POST[ujnev]')";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Rekord hozzáadva!";} else { echo "Gond van!"; }

CloseConn();?><br><br><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

3

ujkat.php

Page 92: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/92

kattorol.php

kattorol.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['ktkod'];$sqlp="DELETE FROM Kategoria Where Kkod='$kk'";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Rekord törölve!";} else { echo "Gond van!"; }

CloseConn();?><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

4

Page 93: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/93

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 94: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/94

Univerzális sql commander

Page 95: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/95

sqlc.htm

<html>

<head>

<title>SQL Commander</title>

<link rel="stylesheet" type="text/css" href="sqlc.css">

</head>

<body>

<form name="np" action="sqlc1.php" method="post">

<fieldset>

<legend>SQL COMMANDER</legend>

<p>SQL parancs:<br>

<textarea id="szoveg" name="szoveg" rows="7" cols="49"></textarea>

<p><input type="reset" value="RESET"/>

<input type=submit name="ftolt" value="Végrehajtás">

</form>

(2/1)

Univerzális sql commander

Page 96: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/96

sqlc.htm

<form name="sp" action="sqlc2.php" method="post">

<p>SQL SELECT, SHOW parancs:<br>

<textarea id="szoveg2" name="szoveg2" rows="4" cols="49"></textarea>

<p><input type="reset" value="RESET"/>

<input type=submit name="ftolt" value="Végrehajtás">

</form>

<form name="tinfo" action="sqlc3.php" method="post">

<p>Tábla információk:<br>

<input type=text name="tlb" size=25> </p>

<input type=submit name="ftolt" value="Infó megjelenítése">

</form>

</fieldset>

</body>

</html>

(2/2)

Univerzális sql commander

Page 97: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/97

sqlc.css

@charset "utf-8";body {background: url(htk.jpg) no-repeatcenter center fixed;

-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;

}legend {

color: black;border: 3px solid darkgoldenrod;background: palegoldenrod;padding: 0 4px;

}fieldset {

width: 420px;border: 3px solid darkgoldenrod;padding: 15px;background: beige;

}

www.bitman.hu

Univerzális sql commander

Page 98: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/98

sqlc1.php

<body BGCOLOR="FFFF99">

<?php

$sqlp = $_POST['szoveg'];

print "SQL parancs: ".$sqlp."<br>";

include "sqlc.inc";

MakeConn();

$sqle = oci_parse($conn, $sqlp);

if (oci_execute($sqle)){

echo "A parancs rendben lefutott!";

} else {

$err = oci_error();

echo "Gond van: ".$err['message'], "\n";

}

CloseConn();

?>

<br><br>

<button onclick='window.history.back();'>Vissza</button>

Univerzális sql commander

www.bitman.hu

www.bitman.hu

Page 99: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/99

sqlc.inc

<?php$conn = false;function MakeConn(){

global $conn;$conn = oci_connect('system', 'rendszer', 'localhost/XE');if (!$conn){$err = oci_error();echo "Hibás Oracle kapcsolódás: ".$err['message'], "\n";

}}function CloseConn(){

global $conn;oci_close($conn);

}?>

Univerzális sql commander

Page 100: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/100

sqlc2.php

<body BGCOLOR="FFFF99"><?php$sqlp = $_POST['szoveg2'];print "Kiadott SQL parancs: ".$sqlp."<br><br>";include "sqlc.inc";MakeConn();$sqle = oci_parse($conn, $sqlp);if (oci_execute($sqle)) {

$mezodb = oci_num_fields($sqle);for ($i = 1; $i <= $mezodb; $i++) {

echo '<span style="display: inline-block; width: 100px;">'.oci_field_name($sqle, $i).'</span>' ;

}print ("<br>");while (($row = oci_fetch_array($sqle, OCI_NUM)) != false) {

for($i=0; $i < $mezodb; $i++){print ('<span style="display: inline-block; width: 100px;">'.$row[$i].'</span>');

}print ("<br>");

}}CloseConn();?><br><button onclick='window.history.back();'>Vissza</button>

Univerzális sql commander www.bitman.hu

www.bitman.hu

Page 101: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/101

sqlc3.php

<body BGCOLOR="FFFF99"><font face="arial" ><?php$tn = strtoupper($_POST['tlb']);print "Tábla neve: ".$tn."<br><br>";print "Mezőnevek - típusok: <br>";

include "sqlc.inc";MakeConn();

$sqlp = "select * from ".$tn;$sqle = oci_parse($conn, $sqlp);

if (oci_execute($sqle)) {$mezodb = oci_num_fields($sqle);for ($i = 1; $i <= $mezodb; $i++) {

echo '<span style="display: inline-block; width: 100px;">'.oci_field_name($sqle, $i).'</span>';

echo '<span style="display: inline-block; width: 100px;">'.oci_field_type($sqle, $i).'</span>'.'<br>';

}print ("<br>");

}

(3/1)

www.bitman.hu

Univerzális sql commander

www.bitman.hu

Page 102: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/102

sqlc3.php

$sqlp = "select COLUMN_NAME PKN from USER_CONS_COLUMNS where CONSTRAINT_NAME IN (SELECT constraint_name FROM user_constraints WHERE table_name = '".$tn."' and CONSTRAINT_TYPE='P')";$sqls = oci_parse($conn, $sqlp);oci_execute($sqls);

while ($row = oci_fetch_array ($sqls, OCI_BOTH)) {echo "Elsődleges kulcs mező: ".$row['PKN']."<br>";

}

$sqlp = "select COLUMN_NAME PKN from USER_CONS_COLUMNS where CONSTRAINT_NAME IN (SELECT constraint_name FROM user_constraints WHERE table_name = '".$tn."' and CONSTRAINT_TYPE='C')";$sqls = oci_parse($conn, $sqlp);oci_execute($sqls);

while ($row = oci_fetch_array ($sqls, OCI_BOTH)) {echo "NOT NULL mező: ".$row['PKN']."<br>";

}

(3/2)

Univerzális sql commander

Page 103: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/103

sqlc1.php

$sqlp = "SELECT UCC1.TABLE_NAME||'.'||UCC1.COLUMN_NAME CSN, UCC2.TABLE_NAME||'.'||UCC2.COLUMN_NAME RFNFROM USER_CONSTRAINTS uc, USER_CONS_COLUMNS ucc1, USER_CONS_COLUMNS ucc2WHERE UC.CONSTRAINT_NAME = UCC1.CONSTRAINT_NAME

AND UC.R_CONSTRAINT_NAME = UCC2.CONSTRAINT_NAMEAND UCC1.POSITION = UCC2.POSITIONAND UC.CONSTRAINT_TYPE = 'R'and UCC1.TABLE_NAME = '".$tn."'

ORDER BY UCC1.TABLE_NAME, UC.CONSTRAINT_NAME";

$sqls = oci_parse($conn, $sqlp);oci_execute($sqls);

while ($row = oci_fetch_array ($sqls, OCI_BOTH)) {echo "Idegen kulcs hivatkozás:<br>";

echo $row['CSN']." &nbsp;references&nbsp; ";echo $row['RFN']." <br>";

}CloseConn();?><br><button onclick='window.history.back();'>Vissza</button>

(3/3)Univerzális sql commander

Page 104: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/104

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 105: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/105

Bolt – KatNev tárolt eljárás

KatNev nevű tárolt eljárás, mely kiírja a képernyőre egy paraméterként

megadott kódú kategória nevét.

create or replace procedure KatNev (kk in char, uz out varchar2) asdb int;begin

select count(*) into db from Kategoria where Kkod = kk;if db = 1 thenselect nev into uz from Kategoria where Kkod = kk;

elseuz := 'Nem létezik ez a Kategória kód!';

end if;end;

kkod

kategorianev

Page 106: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/106

Bolt – KatNev tárolt eljárás

www.bitman.hu

www.bitman.hu

Page 107: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/107

katnev.php

katnev.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['kkodok'];$sqlp = "begin KatNev(:a, :b); end;";$stmt = oci_parse($conn, $sqlp);oci_bind_by_name($stmt, ':a', $kk, 32);oci_bind_by_name($stmt, ':b', $message, 32);oci_execute($stmt);echo 'A '.$kk.' kategória neve: '."$message\n";CloseConn();

?><br><br><form action="KategoriaKezelo.php" method=post><input type=submit name="vissza" value="Vissza"></form>

kkod

kategorianev

Page 108: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/108

Bolt – UjKat tárolt eljárás

UjKat nevű tárolt eljárás, mely létrehoz egy új kategóriát.

create or replace procedure UjKat (kk in varchar2, kn in varchar2) asbegin

insert into Kategoria values (kk, kn);end;

www.bitman.hu

kkod

kategorianev

Page 109: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/109

ujkat.php

ujkat.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$sqlp="begin ujkat('$_POST[ujkod]','$_POST[ujnev]'); end;";$stmt = oci_parse($conn, $sqlp);if (oci_execute($stmt)){echo "Rekord hozzáadva!";} else { echo "Gond van!"; }

CloseConn();?><br><br><form action="o_kk.php" method=post><input type=submit name="vissza" value="Vissza"></form>

Page 110: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/110

KatTermAtlagAr fgv.

KatTermAtlagAr nevű tárolt függvény, mely visszaadja egy adott

kategóriájú termékek átlagárát.

create or replace function KatTermAtlagAr (knevbe in char) return int isdb int;atlag int := 0;beginselect count(*) into db from kategoria where nev=knevbe;if db = 0 thenatlag := -1;

elseselect avg(ar) into atlag from termek t inner join kategoria k

on t.kategoria=k.kkod where k.nev=knevbe;end if;return atlag;

end;

tkod

termeknev ar leiraskategoriakkod

kategorianev

Page 111: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/111

Bolt – KatTermAtlagAr tárolt függvény

www.bitman.hu

www.bitman.hu

select KatTermAtlagAr(′Egyéb′) from dual;

Page 112: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/112

kattermatlagar.php

kattermatlagar.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['katnev'];$sqlp = "begin :atl := KatTermAtlagAr(:be); end;";$stmt = oci_parse($conn, $sqlp);oci_bind_by_name($stmt, ':be', $kk);oci_bind_by_name($stmt, ':atl', $atlagar, 32);oci_execute($stmt);echo 'A '.$kk.' kategória termékeinek átlagára: '."$atlagar\n";CloseConn();

?><br><br><form action="o_kk3.php" method=post><input type=submit name="vissza" value="Vissza"></form>

Page 113: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/113

Bolt – KatTermAtlagAr tárolt függvény

www.bitman.hu

www.bitman.hu

Page 114: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/114

TermKat fgv.

TermKat nevű tárolt függvény, mely visszaadja egy adott nevű termék

kategóriáját.

create or replace function TermKat (tnevbe in char) return varchar2 isdb int;knev varchar2(30);begin

select count(*) into db from termek where nev=tnevbe;if db = 0 then

knev := 'Nincs '||tnevbe||' nevű termék!';else

select k.nev into knev from termek t inner join kategoria k on t.kategoria=k.kkod where t.nev=tnevbe;

end if;return knev;

end;

tkod

termeknev ar leiraskategoriakkod

kategorianev

Page 115: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/115

Bolt – TermKat tárolt függvény

www.bitman.hu

www.bitman.hu

select TermKat(′sör′) from dual;

Page 116: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/116

termkat.php

termkat.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['termnev'];$sqlp = "begin :kat := TermKat(:nbe); end;";$stmt = oci_parse($conn, $sqlp);oci_bind_by_name($stmt, ':nbe', $kk);oci_bind_by_name($stmt,':kat', $kateg, 100);oci_execute($stmt);echo 'A '.$kk.' nevű termék kategóriája: '."$kateg\n";CloseConn();

?><br><br><form action="o_kk3.php" method=post><input type=submit name="vissza" value="Vissza"></form>

Page 117: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/117

Bolt – TermKat tárolt függvény

www.bitman.hu

www.bitman.hu www.bitman.hu

Page 118: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/118

Bevetel fgv.

Bevetel nevű tárolt függvény, mely visszaadja egy adott nap bevételét.

A dátumot a magyar szokásoknak megfelelő yyyy.mm.dd alakban kapja

meg a függvény!

create or replace function Bevetel (ip in varchar2) return int asbev int:=0;beginselect sum(Ar*Darab) into bev from Termek t inner join Vasarlas v

on t.Tkod=v.Tkod where to_char(idopont,'yyyy.mm.dd')=ip;return bev;

end;

tkod

vasarlasidopont darabtkod

termeknev arkategoria

Page 119: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/119

Bolt – Bevetel tárolt függvény

www.bitman.hu

www.bitman.hu

select Bevetel(′2016.03.11′) from dual;

Page 120: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/120

termkat.php

termkat.php

<body BGCOLOR="FFFF99"><?phpinclude "seged.inc";MakeConn();$kk = $_REQUEST['bedat'];$sqlp = "begin :bev := Bevetel(:beip); end;";$stmt = oci_parse($conn, $sqlp);oci_bind_by_name($stmt, ':beip', $kk);oci_bind_by_name($stmt, ':bev', $bevetel, 32);oci_execute($stmt);echo 'A '.$kk.' napi bevétel: '."$bevetel\n";CloseConn();

?><br><br><form action="o_kk3.php" method=post><input type=submit name="vissza" value="Vissza"></form>

Page 121: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/121

Bolt – TermKat tárolt függvény

www.bitman.hu

www.bitman.hu www.bitman.hu

Page 122: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/122

Témakörök

A kategória tábla PHP programja

Univerzális Sql Commander

PHP előkészületek

PHP adatbázis alapok

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

HTML, PHP alapok (gyorstalpaló)

Melós (miniprogram)

Tranzakció kezelés PHP-ből

Page 123: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/123

Tranzakció kezelés PHP-ben

PHP-ben tranzakciót az oci_execute paranccsal lehet

kezdeményezni, a parancs működési módja a mód paraméterrel

állítható be: oci_execute($stmt, mód);

A PHP alapbeállítása az OCI_COMMIT_ON_SUCCESS mód, ami

azt jelenti, hogy minden kiadott parancs (oci_execute($stmt);)azonnal végrehajtásra kerül, nincsenek tranzakciók.

Ha tranzakciókat akarunk használni, a parancsok kiadásakor ezt a

módot meg kell változtatni:

oci_execute($stmt, OCI_NO_AUTO_COMMIT);

Az így végrehajtott parancsok az:

– oci_execute($stmt); vagy az

– oci_commit($conn); utasítással véglegesíthetők, az

– oci_rollback($conn); utasítással pedig visszavonhatók.

Page 124: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/124

Tranzakció kezelés PHP-ben

<?php$conn = oci_connect('hr', 'welcome', 'localhost/XE');$sqlp = 'INSERT INTO mytab (col1) VALUES (:bv) ';$stid = oci_parse($conn, $sqlp);oci_bind_by_name($stid, ':bv', $i, 10);for ($i = 1; $i <= 5; ++$i) {

oci_execute($stid, OCI_NO_AUTO_COMMIT);}oci_commit($conn);

?>

col1

mytab

Véglegesíti az összes új értéket: 1, 2, 3, 4, 5

Page 125: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/125

Izolációs szint beállítása

set transaction [READ ONLY | READ WRITE]

[isolation level [SERIALIZABLE | READ COMMITED]

B I T MAN

Parancssor

Parancssor

Page 126: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/126

Izolációs szintek

Isolation level

Elkülönítési szint

Phantom

read

Fantom

olvasás

Non repeatable

read

Nem megismé-

telhető olvasás

Dirty read

Piszkos olvasás

SERIALIZABLE

Sorba rendezhető

Nem

lehetségesNem lehetséges Nem lehetséges

READ COMMITED

Ismételhető olvasásúLehetséges Nem lehetséges Nem lehetséges

READ ONLY

Olvasás biztosLehetséges Lehetséges Nem lehetséges

READ WRITE

Nem olvasás biztosLehetséges Lehetséges Lehetséges

Page 127: 8. Oracle - PHPusers.iit.uni-miskolc.hu/~szucs/ab2/oa/1608_Ora_PHP.pdf · 127/4 B IT MAN HTML alapok 1. A HTML dokumentum egy olyan szövegfájl, amely a szövegen kívül tartalmaz

B IT MAN127/127

VÉGEVÉGE