giáo trình php & mysql căn bản

68
Giáo trình PHP Cn Bn Ging Viên: Bùi Quc Huy Trang 1/68 www.qhonline.info Trung Tâm ào To Công Ngh Mng Vit Chuyên Tài Liu Lu Hành Ni B www.qhonline.info GIÁO TRÌNH PHP & MYSQL Biên Son: GV. Bùi Quc Huy

Upload: tien-ly-rau-rut

Post on 12-Apr-2017

13 views

Category:

Technology


3 download

TRANSCRIPT

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 1/68 www.qhonline.info

Trung Tâm �ào T�o Công Ngh� M�ng Vi�t Chuyên Tài Li�u L�u Hành N�i B�

www.qhonline.info

GIÁO TRÌNH

PHP & MYSQL

Biên So�n:

GV. Bùi Qu�c Huy

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 2/68 www.qhonline.info

L�i Nói �u

Quyn giáo trình này ���c t ng h�p t� nh�ng tài li�u và kinh nghi�m th�c ti�n qua nhi�u

n�m gi�ng d�y c�a gi�ng viên, và ���c so�n th�o cho phù h�p v�i n�i dung môn h�c.

Khác v�i giáo trình mang tính th��ng m�i, các t� ng�, cách di�n gi�i mang xu th� thu�t

ng�, giáo trình ���c xây d�ng trên hình th�c d� ��c, d� hiu và gn g�i v�i th�c t�, tuy

nhiên �i�u �ó không có ngh�a h�c viên có th ch� tham kh�o giáo trình mà không �i h�c.

N�u các b�n mu�n hiu c�n k� ki�n th�c và ý ngh�a c�a giáo trình, b�n nên tham gia các

khóa h�c PHP �y �� t�i trung tâm �ào t�o m�ng Vi�t Chuyên.

M�c dù �ã kim tra �� xác th�c, c�ng nh� tính �úng � n c�a giáo trình, nh�ng khi biên

soan ch c ch n s� có ít nhi�u l!i liên quan ��n t� ng�, cú pháp. R"t mong nh�n ���c

nhi�u s� �óng góp c�a các b�n.

M�i ý ki�n �óng góp c�a các b�n vui lòng truy c�p vào website: www.qhonline.info (là

website cá nhân c�a tác gi�). Ho�c www.ddcntt.vn (là website c�a trung tâm).

Gi�ng viên

Bùi Qu�c Huy

TP.H# Chí Minh. Ngày 15 Tháng 06 N�m 2006

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 3/68 www.qhonline.info

Ph�n A: C� B�n V� HTML & Javascript I – Các Th� HTML c� b�n

1- Cu trúc chun:

<HTML>

<HEAD><TITLE>Tiêu �� Website</TITLE>

</HEAD>

<BODY>

N�i dung website ���c vi�t t�i �ây

</BODY>

</HTML>

+ M�t c"u trúc HTML luôn bao g#m th$ �óng và th$ m%.

Ví d& : <B> Ł th$ M%

</B> Ł Th$ �óng - ���c phân bi�t b'ng d"u / ngay tr��c th$

+ Các th$ HTML hoàn toàn có th vi�t hoa ho�c th��ng. Tuy nhiên nên theo 1 quy t c

chung (vi�t hoa thì vi�t hoa h�t, ng��c l�i).

+ M�t website càng ít th$ thì s� càng ch�y nhanh h�n.

2- Các th� c� b�n :

ü Tiêu ��: <H>N�i Dung</H> (ví d&: <H1>Welcome, admin</H1>).

Th$ H bao g#m các thu�c tính t� (H1à H6). Nh�ng ch� S( d&ng t� H1à H3.

ü In ��m: <B>N�i Dung</B> (ví d&: <b>Welcome, admin</b>)

ü In Nghiêng: <I>N�i Dung</I> (ví d&: <i>welcome, Admin</i>)

ü G�ch D��i : <U>N�i Dung</U> (Ví d&: <u>welcome, Admin</u>)

ü Xu�ng 1 Dòng : <BR> - Th$ này không có th$ �óng.

ü Xu�ng 2 Dòng : <P> - Có ho�c không th$ �óng c�ng ���c.

ü �)nh D�ng Ch� B'ng Th$ <FONT>

+ Kích th��c ch� : <FONT SIZE=”Thông S�”> N�i Dung</FONT>

Ví d&: <font size=2>Hello, How Are You ?</font>

+ Kiu Ch� : <FONT FACE=”Kiu Ch�”> N�i Dung</FONT>

Ví d&: <font face=tahoma>Hello, How Are You ?</font>

+ Màu Ch� : <FONT COLOR=”Màu Ch�”> N�i Dung</FONT>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 4/68 www.qhonline.info

Ví d&: <font color=red> Hello, How Are You ?</font>

ü T�o Liên K�t : <A HREF=”Link”> N�i Dung</A>

Ví D&: <a href=”abc.html”>Hello, Huy</a>

+ M% 1 c(a s m�i v�i liên k�t: TARGET=_BLANK

Ví d&: <a href=”abc.html” target=_balnk>Hello, Huy</a>

+ M% liên k�t �ó ngay trên trang hin th): TARGET=_SEFT

Ví d&: <a href=”abc.html” target=_seft>Hello, Huy</a>

ü �)nh d�ng thu�c tính : ALIGN=LEFT, RIGHT, CENTER, JUSTIFY

+ S( d&ng k�t h�p v�i th$ <P>

Ví d&: <p align=center>N�i dung à V�n b�n s� % gi�a

+ S( d&ng k�t h�p v�i các th$ khác nh� <img>,<table>, <div>,….

ü Chèn hình �nh vào website:

<IMG SRC=”URL Hình” BORDER=”Thông S�” HSPACE=”Thông S�”

VSPACE=”Thông S�” ALIGN=”Thu�c Tính” WIDTH=”Thông S�”

HEIGHT=”Thông S�”>

+ <IMG SRC=”URL”> cú pháp chính � xu"t ra hình �nh.

+ <IMG SRC=”URL Hình” BORDER=”Thông S�”> cú pháp ���c s( d&ng khi

hình �nh �i kèm v�i liên k�t.

Ví d& : <a href=”abc.html”><img src=”def.gif” border=”1”></a>

T� câu l�nh trên s� cho ra hình def.gif. Tuy nhiên bao b�c hình �nh �ó s� có 1

���ng vi�n.

Ví d&: <a href=”abc.html”><img src=”def.gif” border=”0”></a>

T� câu l�nh trên s� cho ra hình def.gif. Nh�ng không có vi�n xung quanh

+ Hspace : kho�ng cách t� l� ph�i c�a hình ��n l� trái v�n b�n

+ Vspace: kho�ng cách t� TOP c�a hình ��n BOTTOM c�a v�n b�n

+ Align : �)nh d�ng trái, ph�i, gi�a c�a hình (canh l�).

+ Width : Chi�u r�ng c�a t"m hình.

+ Height : Chi�u cao c�a t"m hình.

II– T�o b�ng trong HTML :

� t�o 1 b�ng chúng ta nên hình dung ���c dòng và c�t. Và áp ��t 1 s� quy lu�t, � vi�c

th�c thi d� h�n so v�i yêu cu ��t ra.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 5/68 www.qhonline.info

M�t b�ng bao g#m 2 thu�c tính là dòng và c�t. V�y ta có quy t c � có 1 b�ng d� li�u. Ta

�i t� b�ng tr��c, sau �ó k$ dòng và chia c�t trên dòng �ó…Làm tun t� cho ��n h�t yêu

cu vi�c t�o b�ng.

1 B�ng b t �u và k�t thúc s� có cú pháp : <table> </table>

1 Dòng b t �u và k�t thúc s� có cú pháp : <tr> </tr>

1 C�t b t �u và k�t thúc s� có cú pháp : <td> </td>

Ví d&:

A B C D

1 2 3 4

Nh� b�ng % trên ta s� xây d�ng nh� sau :

+ G#m 1 b�ng.

+ G#m 2 dòng

+ G#m 4 c�t trên 1 dòng

V�y ta có cú pháp t�o b�ng c� b�n nh� sau :

<Table>

<tr>

<td>A</td>

<td>B</td>

<td>C</td>

<td>D</td>

</tr>

<tr>

<td>1</td>

<td>2</td>

<td>3</td>

<td>4</td>

</tr>

</table>

Các thu�c tính trên B�ng (Table).

o Width : Chi�u r�ng c�a b�ng.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 6/68 www.qhonline.info

o Height: Chiêu cao c�a b�ng.

o Align : Các thu�c tính trái, ph�i, gi�a theo chi�u ngang c�a b�ng

o Valign : Các thu�c tính trên, d��i, gi�a theo chi�u d�c c�a b�ng.

o Background : Màu n�n c�a b�ng b'ng 1 hình �nh. (ch� có tác d&ng trên c�t và

b�ng).

o Bgcolor : Màu n�n b�ng b'ng nh�ng màu theo thông s� (ch� có tác d&ng trên c�t

và b�ng). Ví d&: white, blue, green, red,……

o Cellpadding : Kho�ng cách t� chân ch� ��n c�nh d��i.

o Cellspacing : Kho�ng cách c�a các c�nh.

o Rowspan : G�p theo dòng

Ví d& :

o Colspan : G�p theo c�t

Ví d&:

* Các thu�c tính c�a table phía trên ��u có th áp d&ng ��i v�i c�t (td). Nh�ng không th

áp d&ng ��i v�i dòng.

Bài T�p Áp D�ng: Thi�t k� 1 b�ng b'ng HTML nh� hình bên d��i :

Th� 2 Th� 3 Th� 4 Th� 5 Th� 6 Th� 7

Toán A1 Anh V�n PHP&MYSQL Kinh t� Chính Tr)

Phòng 301 ASP.NET CCNA V�t Lý A1

Yêu cu :

1 – Vi�t trên HTML, không dùng b"t k* tool h! tr� nào.

2 – Th�i gian trong 15 phút

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 7/68 www.qhonline.info

III– T�o Form nh�p li�u trong HTML :

Form nh�p li�u ���c dùng � l"y d� li�u t� phía ng��i truy c�p, khách hàng,….Thông

qua h� th�ng website. Cú pháp c� b�n c�a Form c�ng có th$ b t �u và k�t thúc :

Cú pháp chính :

<form method="POST" action="link" name=”Tên”>

N�i dung c�a form

</form>

+ Method : Là ph��ng th�c truy�n nh�n d� li�u. G#m 2 ph��ng th�c là POST và GET.

+ Action : Là ���ng d+n ��n liên k�t x( lý form.

+ Name : là tên c�a Form �ó.

C� c"u c�a Form bao g#m nh�ng thu�c tính sau :

1- D�ng Text : (Nh� nh�p h� tên, �)a ch�, s� �i�n Tho�i,….)

Cú pháp :

<input type="Thu�c tính" name="Tên" size="chi�u dài" value="giá tr)">

+ Type : Thu�c tính có hai lo�i là Text (khi ng��i nh�p s� th"y ���c n�i dung

�ang nh�p và Password (ng��i nh�p s� không th"y ���c n�i dung �ang nh�p)

+ Name : tên c�a h�p nh�p li�u (ví d&: name, address, phone,…..)

+ Size : Chi�u dài c�a h�p nh�p li�u.

+ Value: Giá tr) mu�n hin th) (th��ng v�i h�p nh�p li�u thì ít s( d&ng).

2- D�ng V�n b�n – Textarea : (nh� nh�p thông tin cá nhân, ghi chú,…..)

Cú pháp :

<textarea name="textarea" cols="45" rows="5" ></textarea>

+ Có th$ b t �u và k�t thúc.

+ Name: Tên c�a h�p nh�p li�u.

+ Cols : ���c xem là chi�u r�ng c�a h�p nh�p li�u

+ rows: ���c xem là chi�u cao c�a h�p nh�p li�u

3- D�ng L�a Ch�n : (nh� ch�n l�a gi�i tính nam ho�c n�)

Cú pháp :

<input type="radio" value="N" name="hot" checked>

+ Type : Radio là �)nh d�ng dành cho s� l�a ch�n

+ Value : Giá tr) mà chúng ta mu�n truy�n khi user l�a ch�n

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 8/68 www.qhonline.info

+ Name : Tên c�a �)nh d�ng l�a ch�n

+ Thu�c tính “checked”. N�u add vào s� m�c �)nh ch�n l�a

Ví d&:

<input type="radio" value="m" name="sex" checked> Male

<input type="radio" value="f" name="sex" > Female

T� ví d& trên ta th"y n�u trong 1 form ch�n l�a gi�i tính. Thì thu�c tính “name”

ph�i gi�ng nhau. , �ây. Thu�c tính male ���c l�a ch�n m�c �)nh.

4- D�ng Thanh cu�n : (nh� ch�n qu�c t)ch Vi�t Nam,….)

Cú pháp:

<select size="thông s�" name="tên">

<option value="giá tr)" selected>L�a ch�n </option>

</select>

+ Size : là kích th��c c�a h�p tho�i mà b�n mu�n. Th��ng là 1.

+ Name : là tên c�a thanh cu�n "y.

+ Option: là nh�ng thu�c tính b�n mu�n ch�n

+ Thu�c tính “selected” N�u thêm vào s� m�c �)nh ch�n l�a.

+ Giá tr) : là thông t� b�n mu�n truy�n vào khi chúng ta ch�n l�a.

Ví d&:

<select size="1" name="country">

<option value=”VN” selected>Vi�t Nam </option>

<option value=”CN”>Trung Qu�c </option>

</select>

, ví d& này chúng ta th"y. Vi�t Nam là qu�c gia ���c l�a ch�n.

5- D�ng Ch�n Nhi�u : (nh� b�ng �ánh d"u s% thích: music, sport, game,…..)

Cú Pháp:

<input type="checkbox" name="tên" value="giá tr)">

+ Type= Checkbox là �)nh d�ng c�a h�p tho�i

+ Tên : là tên c�a m&c ch�n l�a

+ Giá tr): Là thông s� cn truy�n vào.

6- D�ng Nút Nh�n : (nh� ch"p nh�n ho�c làm l�i,…..)

Cú pháp :

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 9/68 www.qhonline.info

<input type="L�a ch�n" value="Giá tr)" name="Tên">

Type có hai lo�i chính là : submit bà reset

+ Submit cho phép g%i d� li�u lên trình duy�t � x( lý.

+ Reset : xóa toàn b� d� li�u t� các form trên.

Giá tr): là tên hin th) trên nút

Tên : là tên c�a nút nh"n.

Bài t�p Áp D�ng :

Vi�t l�nh hin th) 1 form nh� bên d��i :

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 10/68 www.qhonline.info

IV- Các th� nâng cao:

1- T�o ch ch�y :

Cú pháp c� b�n : <Marquee> N�i Dung </Marquee>

Mô t� : V�n b�n n'm gi�a hai th$ này s� di chuyn tu* theo các giá tr) thu�c tính ���c

thi�t l�p. M�t s� thu�c tính c�a Marquee là:

Direction: Có giá tr) b'ng Left ho�c Right là h��ng chuyn ��ng c�a v�n b�n.

ScrollDelay: Giá tr) nguyên d��ng này là s� mili giây v�n b�n ng�ng tr��c khi chuyn

��ng ti�p. Giá tr) càng nh-, chuyn ��ng càng nhanh.

Behavior: Lo�i chuyn ��ng c�a text. Scroll, Slide, Alternate

Align With text: �o�n v�n b�n ���c canh ch�nh trong vùng di�n tích c�a marquee. Có 3

giá tr): Top, Middle, Bottom.

Loop: Giá tr) nguyên thi�t l�p s� chu k* chuyn ��ng c�a �o�n v�n b�n.

Ví d& :

<Marquee align="middle" direction="right" scrolldelay="60">

Chào m�ng b�n �ã ��n website c�a chúng tôi

</Marquee>

2 – S d�ng Frame:

B'ng cách dùng frame (khung), ta có th ng t trang web thành các vùng riêng bi�t (c(a

s ) và th hi�n các t�p tin HTML khác nhau trong m!i vùng. V�i cách này, m!i vùng có

th chuyn sang trang web khác trong khi các vùng khác v+n không thay � i.

Cú pháp c� b�n :

<iframe src=”URL” Name=”Tên” Frameborder=”Thông s�” height=”Thông s�”

width=”thông s�” scrolling=”Thông s�” allowtransparency> </iframe>

SRC : URL c�a trang mu�n hin th).

Name : Tên c�a frame

Frameborder : ���ng vi�n c�a frame (th��ng là 0 ho�c 1)

Height : chi�u cao c�a frame

Width : Chi�u r�ng c�a frame.

Scrolling : Hin th) thanh tr��t (có 3 thu�c tính là “No”, “Yes”, “Auto”).

Allowtransparency: Cho phép background c�a frame trong su�t.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 11/68 www.qhonline.info

Ví d& :

<iframe src=”test_page.html” Name=”test_frame” Frameborder=”0” height=”300”

width=”300” scrolling=”No” allowtransparency></iframe>

3- T�o danh sách:

HTML có m�t t�p các th$ cho phép t�o ra các danh sách d�ng phân c"p. Có hai d�ng

danh sách: không có th� t� và có th� t�. Các danh sách không có th� t� là danh sách

d�ng nút, trong khi �ó danh sách có th� t� th��ng là danh sách có �ánh s�. Ta c�ng có

th k�t h�p hai lo�i này � t�o ra danh sách ph�c t�p h�n.

a) Danh sách có th� t� :

Các m&c c�a m�t danh sách có th� t� ���c hin th) v�i các con s� thay vì các nút. S(

d&ng th$ <OL> (Order List) � thi�t l�p m�t danh sách có th� t�, nh� ���c th hi�n trong

�o�n mã sau. Hình �nh th hi�n cách mà trình duy�t hin th) �o�n mã này.

Cú Pháp : <OL type=”[a] [i] [I]”> </OL>

Ví d& :

<OL> <LI>This is the first level-1 item in the list. <LI>This is the second level-1 item in the list. <OL> <LI>This is the first level-2 item in the list. <LI>And this is the second level-2 item in the list. </OL> <LI>This is the third level-1 item in the list. </OL>

b) Danh sách không có th� t� :

Cú pháp : <UL type=”[square] [cicle] [disc]”> </UL>

Ví d& :

<UL Type="Disc">This is the first level header. <LI>This is the first level-1 item in the list. <LI>This is the second level-1 item in the list. <UL> <LI>This is the first level-2 item in the list. <LI>And this is the second level-2 item in the list. </UL> <LI>This is the third level-1 item in the list. </UL>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 12/68 www.qhonline.info

4- S d�ng th� <DIV>:

DIV ���c xem nh� là các th$ ch�a (th$ mang). Chúng r"t h�u d&ng trong vi�c phân chia

các kh�i v�n b�n v�i phn xung quanh nó mà không làm �nh h�%ng ��n �)nh d�ng c�a

riêng nó. Các th$ này th��ng ���c dùng v�i các �)nh d�ng style sheet CSS và �ang ���c

�a chu�ng trong thi�t k� layout c�a nh�ng trang web ph�c t�p.

Ví d& :

Here is <DIV STYLE="font:bold 14pt">some text</DIV> in a DIV.

V- CASCADING STYLE SHEET (CSS)

�)nh ngh�a v� b�ng kiu x�p ch#ng (css) s( d&ng � tách bi�t format trang và n�i dung

c�a trang web. V�i CSS, ta có th bi�n � i m�i th� t� kích c., kiu, màu s c c�a v�n b�n

cho ��n kho�ng cách gi�a các ch� cái và các dòng, ���ng biên và phn ��m xung quanh

phn t(, v) trí chính xác c�a ��i t��ng trên trang.

1- �nh ngh�a tr�c ti�p :

B�ng kiu toàn c&c (ho�c b�ng kiu ���c nhúng vào) ���c kèm theo nh� là m�t phn c�a

h# s� HTML. Lo�i b�ng kiu này xác �)nh biên gi�i c�a nó b'ng th$ m% <STYLE> và

th$ �óng </STYLE>, nó th��ng ���c ��t trong phn head c�a trang HTML.

Ví d&:

<HTML>

<HEAD>

<STYLE>

H1 {font-size: 16pt; font-weight: bold; color: red}

H2 {font-style: italic; font-size: 24pt; color: green}

DIV {font-weight: bold; font-style: italic}

</STYLE>

</HEAD>

<BODY>

<DIV>This text is in a DIV.</DIV>

<H1>This text is in an H1.</H1>

<H2>This text is in an H2.</H2>

</BODY>

</HTML>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 13/68 www.qhonline.info

Hin Th) :

Mô t� thu c tính :

Color: màu ch�

Font-size : Kích th��c c�a ch�

Font-style : �)nh d�ng ch� (italic : Nghiêng, blod: in ��m, underline: g�ch d��i).

Font-family: Kiu ch�

Background-color : màu n�n

Text –decoration: �)nh d�ng link.

+ None : không �)nh d�ng gì c�

+ Underline: g�ch d��i liên k�t.

+ Overline: g�ch trên liên k�t

2- �nh ngh�a gián ti�p:

Kh� n�ng �)nh d�ng ���c �� c�p trong nh�ng phn tr��c không ch� d�ng l�i % m�c ��

c�a m�t trang web ��n mà còn có th kim soát kiu trên nhi�u trang web hay có th trên

toàn b� website b'ng cách s( d&ng b�ng kiu liên k�t. M�t b�ng kiu liên k�t (hay b�ng

kiu bên ngoài) ch� ��n gi�n là m�t t�p tin v�n b�n, bao g#m nh�ng �)nh ngh�a kiu. T�p

tin này ���c l�u v�i phn m% r�ng là CSS. T�p này (n'm ngoài t�p tin HTML) có th

���c tham chi�u ho�c liên k�t b%i v�n b�n HTML b'ng cách s( d&ng th$ <LINK> c�a

trang HTML.

Ví d&: �u tiên, s( d&ng notepad � so�n th�o t�p tin có n�i dung nh� sau:

H1 {font-size: 16pt; font-weight: bold; color:red}

H2 {font-style: italic; font-size:24pt ; color:green}

DIV {font-weight: bold; font-style: italic}

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 14/68 www.qhonline.info

L�u t�p tin v�i tên b"t k* có phn m% r�ng là CSS (ví d&: style.css). C�ng cn chú ý

r'ng, b�ng kiu liên k�t này không kèm theo các thành phn <Style> và </Style> (t�c

trong file CSS không có các th$ này).

Bây gi� t�p tin t�o m�t file HTML ch�a m�t liên k�t ��n b�ng kiu bên ngoài �ã �)nh

ngh�a.

Ví d&:

<HTML>

<HEAD>

<LINK HREF="styles.css" REL="STYLESHEET" TYPE="text/css">

</HEAD>

<BODY>

<DIV>This text is in a DIV.</DIV>

<H1>This text is in an H1.</H1>

<H2>This text is in an H2.</H2>

<H2 STYLE="font-size: 36pt">This is modified H2 text.</H2>

</BODY>

</HTML>

Trong ví d& này t�p tin s( d&ng th$ <LINK> trong phn �u c�a h# s� HTML. Th$ này

ch�a thu�c tính HREF xác �)nh v) trí c�a t�p tin �ích. Thu�c tính REL s� �)nh rõ r'ng

liên k�t này là m�t tham chi�u ��n m�t b�ng kiu và thu�c tính TYPE �)nh rõ lo�i b�ng

kiu. Th�i �im hi�n t�i thì text/css là lo�i b�ng kiu ���c h! tr� ph bi�n và duy nh"t.

B�ng kiu liên k�t có �nh h�%ng t�i h# s� HTML gi�ng nh� b�ng kiu toàn c&c (b�ng

kiu nhúng). M�i phn t( trong h# s� HTML mà th$ c�a chúng ���c �)nh ngh�a trong t�p

tin style.css s� ���c th hi�n b'ng cách s( d&ng kiu �ã ���c xác �)nh.

Vì không n'm trong b"t k* t�p tin HTML ��c bi�t nào, nên b�ng kiu liên k�t ngoài có

th ���c liên k�t v�i s� l��ng h# s� không gi�i h�n. Ví d&, t�p tin có th t�o b�ng kiu

cho toàn b� Website và liên k�t t�ng trang v�i b�ng kiu �ó. Kh� n�ng này r"t h�u ích

khi t�p tin mu�n duy trì cách th hi�n, c�ng nh� cách c�m nh�n nh"t quán trên toàn b�

website. Nó c�ng r"t ti�n l�i khi mu�n thay � i cách th hi�n t ng th c�a Website.

3- �nh Ngh�a Trên 1 L�p:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 15/68 www.qhonline.info

Là m�t bi�n �)nh ngh�a format c�a các thu�c tính trong các th$ nh�ng m�i th$ ��u có th

dùng ���c.

Cú pháp : .tênl�p {các thu�c tính}.

Ví d&:

<HTML>

<HEAD>

<STYLE>

.large

{

font-size: 24pt;

font-style : bold;

font-family : tahoma;

color: green;

Background-color: blue;

}

.small {font-size: 8pt}

</STYLE>

</HEAD>

<BODY>

<H2 CLASS="small">The small class on an H2 element.</H2>

<DIV CLASS="large">The large class on a DIV element.</DIV><BR>

<P CLASS="small">The small class on a P element.</P>

<B CLASS="large">The large class on a B element.</B><BR>

</BODY>

</HTML>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 16/68 www.qhonline.info

Ph�n B: PHP & MYSQL

Bài 1: T ng Quan V� PHP I - Gi�i thi�u v� PHP.

PHP (Hypertext Preprocessor) là ngôn ng� script trên server ���c thi�t k� � d� dàng xây

d�ng các trang Web ��ng. Mã PHP có th th�c thi trên Webserver � t�o ra mã HTML

và xu"t ra trình duy�t web theo yêu cu c�a ng��i s( d&ng.

Ngôn ng� PHP ra ��i n�m 1994 Rasmus Lerdorf sau �ó ���c phát trin b%i nhi�u ng��i

tr�i qua nhi�u phiên b�n. Phiên b�n hi�n t�i là PHP 5 �ã ���c công b� 7/2004.

Có nhi�u lý do khi�n cho vi�c s( d&ng ngôn ng� này chi�m �u th� xin nêu ra �ây m�t s�

lý do c� b�n :

- Mã ngu#n m% (open source code)

- Mi�n phí, download d� dàng t� Internet.

- Ngôn ng� r"t d� h�c, d� vi�t.

- Mã ngu#n không ph�i s(a l�i nhi�u khi vi�t ch�y cho các h� �i�u hành t�

Windows, Linux, Unix

- R"t ��n gi�n trong vi�c k�t n�i v�i nhi�u ngu#n DBMS, ví d& nh� : MySQL,

Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress,

FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhi�u h� th�ng

CSDL thu�c H� �i�u Hành Unix (Unix dbm) cùng b"t c� DBMS nào có s� h tr�

c� ch� ODBC (Open Database Connectivity) ví d& nh� DB2 c�a IBM.

S� �� v� l�p trình server side c�a PHP.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 17/68 www.qhonline.info

• 1: Trình duy�t g(i yêu cu t�i trang PHP.

• 2: Web server g(i các yêu cu �ó t�i trình thông d)ch PHP.

• 3-4: Trình thông d)ch PHP th�c thi các ��an mã PHP. Quá trình này có th

liên quan ��n nhi�u tài nguyên nh� filesystem, database...

• 5: K�t qu� c�a quá trình thông d)ch là các mã HTML ���c tr� v� cho Server..

• 6: Server g(i mã k�t qu� HTML v� l�i trình duy�t.

II- Ki�n Th�c C� b�n

1- Cú pháp chính :

PHP c�ng có th$ b t �u và k�t thúc gi�ng v�i ngôn ng� HTML. Ch� khác, ��i v�i PHP

chúng ta có nhi�u cách � th hi�n.

Cách 1 : Cú pháp chính:

<?php Mã l�nh PHP ?>

Cách 2: Cú pháp ng n g�n

<? Mã l�nh PHP ?>

Cách 3: Cú pháp gi�ng v�i ASP.

<% Mã l�nh PHP %>

M�c dù có 3 cách th hi�n. Nh�ng ��i v�i 1 l�p trình viên có kinh nghi�m thì vi�c s(

d&ng cách 1 v+n là l�a chon t�i �u.

Trong PHP � k�t thúc 1 dòng l�nh chúng ta s( d&ng d"u “;”

� chú thích 1 �o�n d� li�u nào �ó trong PHP ta s( d&ng d"u “//” cho t�ng dòng. Ho�c

dùng c�p th$ “/*……..*/” cho t�ng c&m mã l�nh.

Ví d&:

<?

Echo “PHP is simple”; //day la vi du ve code PHP

/* Voi cu phap nay chung ta

Co the chu thich 1 cum ma lenh */

?>

2- Xu�t d li�u ra trình duyêt

� xu"t d� li�u ra trình duy�t chúng ta có nh�ng dòng cú pháp sau :

+ Echo “Thông tin”;

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 18/68 www.qhonline.info

+ Printf “Thông tin”;

Thông tin bao g#m : bi�n, chu!i, ho�c l�nh HTML ….

Ví d& :

<?php

Echo “Hello word”;

Printf”<br><font color=red>Who Are You ?</font>”;

?>

N�u gi�a hai chu!i mu�n liên k�t v�i nhau ta s( d&ng d"u “.”

Ví d& :

<?php

Echo “Hello”.”who are you ?”;

?>

3- Khái ni�m bi�n, h�ng, chu�i và các ki�u d li�u.

a) Bi�n trong PHP.

Bi�n ���c xem là vùng nh� d� li�u t�m th�i. Và giá tr) có th thay � i ���c. Bi�n ���c

b t �u b'ng ký hi�u “$”. Và theo sau chúng là 1 t�, 1 c&m t� nh�ng ph�i vi�t li�n ho�c

có g�ch d��i.

1 bi�n ���c xem là h�p l� khi nó th-a các y�u t� :

+ Tên c�a bi�n ph�i b t �u b'ng d"u g�ch d��i và theo sau là các ký t�, s� hay d"u g�ch

d��i.

+ Tên c�a bi�n không ���c phép trùng v�i các t� khóa c�a PHP.

Trong PHP � s( d&ng 1 bi�n chúng ta th��ng ph�i khai báo tr��c, tuy nhiên ��i v�i các

l�p trình viên khi s( d&ng h� th��ng x( lý cùng m�t lúc các công vi�c, ngh�a là v�a khái

báo v�a gán d� li�u cho bi�n.

B�n thân bi�n c�ng có th gãn cho các kiu d� li�u khác. Và tùy theo ý �)nh c�a ng��i

l�p trình mong mu�n trên chúng.

M�t s� ví d& v� bi�n :

$a= 100 // bi�n a % �ây có giá tr) là 100.

$a= “PHP is easy” // Bi�n a % �ây có giá tr) “PHP Is easy”.

Biena=123 //Có l!i vì b t �u 1 bi�n ph�i có d"u “$”

$123a=”PHP” //Có l!i vì phn tên b t �u c�a bi�n là d�ng s�.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 19/68 www.qhonline.info

b) Khái ni�m v� h�ng trong PHP.

N�u bi�n là cái có th thay � i ���c thì ng��c l�i h'ng là cái chúng ta không th thay � i

���c. H'ng trong PHP ���c �)nh ngh�a b%i hàm define theo cú pháp: define (string

tên_h'ng, giá_tr)_h'ng ).

C�ng gi�ng v�i bi�n h'ng ���c xem là h�p l� thì chúng ph�i �áp �ng 1 s� y�u t� :

+ H'ng không có d"u “$” % tr��c tên.

+ H'ng có th truy c�p b"t c� v) trí nào trong mã l�nh

+ H'ng ch� ���c phép gán giá tr) duy nh"t 1 ln.

+ H'ng th��ng vi�t b'ng ch� in � phân bi�t v�i bi�n

Ví d& :

define (“C”, “COMPANY”);

define (“YELLOW”, “#ffff00”);

c) Khái ni�m v� chu�i:

Chu!i là m�t nhóm các k/ t�, s�, kho�ng tr ng, d"u ng t ���c ��t trong các d"u nháy.

Ví d&:

‘Huy’

“welcome to VietNam”

� t�o 1 bi�n chu!i, chúng ta ph�i gán giá tr) chu!i cho 1 bi�n h�p l�.

Ví d&:

$fisrt_name= “Nguyen”;

$last_name= ‘Van A’;

� liên k�t 1 chu!i và 1 bi�n chúng ta th��ng s( d&ng d"u “.”

Ví d&:

<?php

$test=”VietNam”;

echo “welcome to”.$test;

echo “<br><font color=red>welcome to”.$test.”</font><br>”;

?>

d) Ki�u d li�u trong PHP

Các kiu d� li�u khác nhau chi�m các l��ng b� nh� khác nhau và có th ���c x( lý theo

cách khác nhau khi chúng ���c theo tác trong 1 script.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 20/68 www.qhonline.info

Trong PHP chúng ta có 6 kiu d� li�u chính nh� sau :

Ki�u D� Li�u Ví d� Mô T�

Integer 10 M�t s� nguyên

Double 5.208 Kiu s� th�c

String “How are you ?” M�t t�p h�p các ký t�

Boolean True or False Giá tr) true ho�c false

Object H��ng ��i t��ng trong PHP

Array M�ng trong PHP, ch�a các phn t(.

Chúng ta có th s( d&ng hàm d�ng s0n gettype() c�a PHP4 � kim tra kiu c�a b"t k*

bi�n.

Ví d&:

<?php

$a= 5;

Echo gettype($a); // Integer.

$a=”<br>”;

Echo gettype($a); //String

?>

III- T�ng K�t:

Sau bài này các b�n �ã có nh�ng khái ni�m �u tiên v� PHP, các cú pháp, các kiu d�

li�u, và cách làm vi�c v�i môi tr��ng PHP nh� th� nào. , bài sau, chúng ta s� ti�p t&c

ti�p c�n v�i các thu�t toán và cú pháp PHP m�t cách rõ ràng và quen thu�c trong các

ngôn ng� l�p trình.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 21/68 www.qhonline.info

Bài 2 : Toán T( Và Biu Th�c I – Toán t� c� b�n.

1- Toán t gán:

Chúng ta �ã t�ng ti�p xúc v�i toán t( này b%i vi�c kh%i t�o 1 bi�n. Nó g#m ký t� ��n =.

Toán t( gán l"y giá tr) c�a toán h�ng bên ph�i gán nó vào toán h�ng bên trái.

Ví d&: $name = “Johny Nguyen”; 2- Toán t s� h�c:

Ta có b�ng các phép toán s� h�c nh� sau:

Toán T� Lý gi�i Ví d� K�t qu�

+ C�ng hai s� h�ng 10+8 18

- Tr� hai s� h�ng 10-8 2

* Nhân hai s� h�ng 10*8 80

/ Chia hai s� h�ng 10/3 3.33333333

% Tr� v� s� d� 10%3 1

3- Toán t so sánh:

Ta có các phép so sánh c� b�n nh� sau:

Phép Toán Tên Gi�i Thích Ví D�

= = B'ng Hai s� h�ng b'ng nhau $a= =5

!= Không b'ng Hai s� h�ng không b'ng nhau $a != 5

= = = �#ng nh"t Hai s� b'ng nhau và cùng kiu $a = = = 5

> L�n h�n V� trái l�n h�n v� ph�i $a > 5

>= L�n h�n ho�c b'ng V� trái l�n h�n ho�c b'ng v� ph�i $a >= 5

< Nh- h�n V� trái nh- h�n v� ph�i $a < 5

<= Nh% h�n ho�c b'ng V� trái nh- h�n ho�c b'ng v� ph�i $a <= 5

4- Toán t logic

Toán t( logic là các t h�p các giá tr) boolean. Ví d&: toán t( or tr% v� true n�u toán t(

trái ho�c toán t( ph�i là true.

True || false à true.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 22/68 www.qhonline.info

Ta có b�ng các toán t( nh� sau:

Toán T( Tên Tr� v� True N�u Ví d& K�t qu�

|| Or V� trái ho�c v� ph�i là True True || false True

Or Or V� trái ho�c v� ph�i là True True || false True

Xor Xor V� trái ho�c v� ph�i là True

nh�ng không ph�i c� hai

True || True False

&& And V� trái và v� ph�i là true True && false False

And And V� trái và v� ph�i là true True && false False

! Not không ph�i là true !true False

5- Phép gán k�t h�p:

Khi t�o mã PHP, chúng ta s� th��ng nh�n th"y cn ph�i t�ng ho�c gi�m l��ng bi�n m�t

s� nguyên nào �ó. B�n s� th��ng th�c hi�n �i�u này khi chúng ta ��m 1 giá tr) nào �ó

trong vòng l�p.

Phép Toán Ví d� Lý Gi�i

++ $a++ B'ng v�i $a= $a + 1

-- $a-- B'ng v�i $a= $a – 1

+= $a+=$b B'ng v�i $a= $a + $b

-= $a-=$b B'ng v�i $a= $a - $b

*= $a*=$b B'ng v�i $a= $a * $b

/= $a/=$b B'ng v�i $a= $a / $b

II- Các bi�u th�c c� b�n:

1- Bi�u th�c �i�u ki�n:

Cú pháp:If(�i�u ki�n)

{

hành ��ng

}

Ví d&:

<?php

$a=5;

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 23/68 www.qhonline.info

$b=7;

If($a < $b)

{

Echo” Bien A co gia tri nho hon bien B”;

}

Else

{

Echo “Bien A co gia tri lon hon bien B”;

?>

2- Vòng l�p trong PHP:

a) While…..

Cú pháp:

While(�i�u ki�n)

{

Hành ��ng – th�c thi

}

Ví d&:

<?php

$a=1;

While($a < 10)

{

Echo “gia tri $a la”;

$a++;

}

?>

Bài t�p áp d&ng:

1- Vi�t 1 trang web xu"t ra giá tr) t� 1->20. V�i �)nh d�ng font màu �-, kiu

Tahoma, canh ph�i.

2- Vi�t 1 trang web có giá tr) t� 1->20. Hãy xu"t ra trình duy�t nh�ng s� ch0n n'm

trong kho�ng 1->20 �ó.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 24/68 www.qhonline.info

�áp Án:

Câu 1:

<?php $a=1; while($a <= 20) {

echo "<br>$a"; $a++;

} ?>

Câu 2:

<?php $a=1; while($a <= 20) {

if($a%2==0) echo "<br>$a";

$a++; } ?> b) Do......while:

Cú pháp:

Do

{

Hành ��ng th�c thi

}while(�i�u ki�n)

Ví d&:

<?php

$a=5;

do{

echo "day la gia tri cua $a";

$a++;

}while($a >6)

?>

c) For…..Loop

Cú pháp:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 25/68 www.qhonline.info

For( giá tr) ; �i�u ki�n ; bi�n t�ng ho�c gi�m)

{ Hành ��ng }

Ví d& :

<?php $a=2; for($i=1; $i<=10; $i++) {

echo"$a x $i =".$a*$i."<br>"; } ?>

Bài t�p ví d&:

Xây d�ng 1 website th-a yêu cu xu"t ra b�ng c(u ch��ng t� 2à 10.

�áp án:

<?php for($i=2; $i <= 10; $i++) {

echo "Bang cuu chuong cua $i<br>"; for($j=1; $j <=10; $j++) { echo "$i x $j =".$i*$j."<br>"; } echo "<p>";

} ?>

d) Phát biu switch:

Cú pháp:

Switch(bi�n)

{

Case giá tr) 1: Hành ��ng; Break;

…………

Case giá tr) N: Hành ��ng; Break;

Default: Hành ��ng; Break;

}

Ví d&:

<?php

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 26/68 www.qhonline.info

$a=5; switch($a) {

case 1: echo "day la gia tri $a"; break; case 2: echo "day la gia tri $a"; break; case 3: echo "day la gia tri $a"; break; case 4: echo "day la gia tri $a"; break; case 5: echo "<font color=red>day la gia tri $a</font>"; break; default: echo “Khong co gia tri phu hop”; break;

} ?>

III – T�ng k�t:

K�t thúc bài h�c này, các b�n ít nhi�u �ã n m ���c nh�ng thu�c tính c� b�n c�a các

phép toán h�c trong PHP, ngoài ra chúng ta c�ng t�ng b��c hiu ���c cú pháp c�a

t�ng biu th�c.

��i v�i các vòng l�p, chúng ta cn hiu và v�n chúng m�t cách linh ho�t và m�m

d$o, phân bi�t ���c while và do…while. S( d&ng hàm switch trong tr��ng h�p có

quá nhi�u giá tr) if…else tr� v�.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 27/68 www.qhonline.info

Bài 3: M�ng Trong PHP (Array) I- Nh�ng khái ni�m c� b�n:

Chúng ta có th t�o 1 mãng v�i các phn t( không �#ng nh"t v� m�t d� li�u. �ây là

m�t �u �im c�a PHP so v�i các lo�i ngôn ng� khác nh� C++ hay Java

1- Cách kh�i t�o :

có nhi�u cách

$countries[] = “cr”;

$countries[] = “de”;

$countries[] = “ca”;

L�u ý : gi�a tên bi�n mãng và d"u [] không ���c cách kho�ng tr ng mà ph�i vi�t li�n

v�i nhau, n�u không khi l�p trình CT s� không báo l!i nh�ng s� cho k�t q�a sai.

Ch� s� m�c �)nh trong kh%i t�o mãng n�u không ch� �)nh c& th s� là b t �u t� 0, 1,

2... ho�c chúng ta s� vi�t t��ng minh h�n nh� sau :

$countries[0] = “cr”;

$countries[1] = “de”;

$countries[2] = “ca”;

Chúng ta c�ng có th kh%i t�o mãng 1 cách không tun t� nh� sau :

$countries[50] = “cr”;

$countries[20] = “de”;

$countries[10] = “ca”;

$countries[] = “uk”; // s� mang ch� s� là 51

Ho�c :

$countries = array (“cr”, “de”, “us”);

echo ($countries[2]); // s� in ra “us”

N�u mu�n l"y ch� s� �u là 1 ta kh%i t�o nh� sau :

$countries = array (1=> “cr”, “de”, “us”);

echo ($countries[2]); // s� in ra “de”

Toán t( => có th thay � i v) trí

ví d& :

$countries = array (“cr”, 7=>“de”, “us”); /* index 0 là “cr”, index 7 là “de”,

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 28/68 www.qhonline.info

index 8 là “us” */

� ��m s� phn t( c�a mãng ta dùng hàm count, nh� ví d& % trên n�u ta ghi

echo (count ($countries)); // s� in ra 3

2- �i v�i các mãng lo�i tu�n t�:

Ta có th in ra theo �o�n CT sau:

ví d& :

$countries = array (“cr”, “de”, “us”);

$num_elements = count ($countries);

for ($idx = 0; $idx < $num_elements; $idx++) {

echo (“$countries[$idx]” . “<BR>”);

}

3- �i v�i các mãng lo�i không tu�n t�:

Cách 1 :

ví d& :

$countries[50] = "cr";

$countries[20] = "de";

$countries[10] = "us";

$countries[] = "uk";

reset ($countries); /* ��a pointer c�a mãng v� v) trí khai báo �u tiên là index 50 */

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>"); /* Ln l��t hin th) theo th� t� �ã khai

báo ban �u là index 50, k� ti�p là index 20 r#i index 10, cu�i cùng là index 51 */

}

C� ch� list () : Gán ch� s� index c�a mãng cho ��i s� th� nh"t c�a list là $key, giá tr)

t��ng �ng v�i ch� s� index �ó c�a mãng cho ��i s� th� hai c�a c� ch�

list () là $value

each () : C� m!i ln ���c g�i s� di chuyn pointer c�a mãng ��n thành phn k� ti�p

c�a mãng, gán ch� s� index c�a mãng cho $key và giá tr) t��ng �ng v�i ch� s� index

�ó c�a mãng cho $value c�a c� ch� list ().

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 29/68 www.qhonline.info

Cách 2 :

Ví d& :

function println ($s) {

echo (“$s <BR>”);

}

$countries = array (“ca”, “cr”, “de”, “us”);

array_walk ($countries, println);

4- Mãng có ch� s� là kiu chu!i:

Ví d& :

$countries[“ca”] = “Canada”;

$countries[“uk”] = “United Kingdom”;

$countries[“us”] = “United States”;

$countries[“cr”] = “Costa Rica”;

reset ($countries);

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>");

}

5- Mãng nhi�u chi�u:

Ví d& :

$continents = array (“europe”=>array (“de”, “uk”), “north america”=>array (“ca”,

“cr”, “us”));

echo ($continents[“europe”][1]); // in ra “uk”

echo ($continents[“north america”][2]); // in ra “us”

s� �# biu di�n mãng 2 chi�u % trên nh� sau :

$continents[“europe”] $continents[“north america”]

[0] [1] [0] [1] [2]

“de” “uk” “ca” “cr” “us”

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 30/68 www.qhonline.info

Phép duy�t cho mãng % trên ���c th�c hi�n nh� sau :

ví d& :

while (list ($key1) = each ($continents)) {

echo (“$key1 : <BR>”);

while (list ($key2, $value) = each ($continents[“$key1”])) {

echo (“- $value<BR>”);

}

}

II- Các hàm s�p x�p trên m�ng:

Quy lu�t chung trong s p x�p m�ng, chúng �u tiên s p s� tr��c, k� ��n là các ký t�

d"u, r#i m�i ��n các ký t� ch�, s p

x�p theo alphabetical

1- Khi ch� s� (index) là s� :

Hàm sort () :

Ví d& :

$countries = array (“us”, “uk”, “ca”, “cr”, “de”);

sort ($countries);

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>");

}

s� hi�n th� ra nh� sau :

Element 0 equals ca

Element 1 equals cr

Element 2 equals de

Element 3 equals uk

Element 4 equals us

* Ghi Chú: s p x�p giá tr) t�ng theo alphabetical, ch� s� index b t �u t� 0.

2- Khi ch� s� (index) là chu�i :

Hàm asort () :

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 31/68 www.qhonline.info

Ví d& :

$countries = array (“us”=>“United States”, “uk”=>“United Kingdom”,

“ca”=>“Canada”, “cr”=>“Costa Rica”, “de”=>“Germany”);

asort ($countries);

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>");

}

K�t qu� :

Element ca equals Canada

Element cr equals Costa Rica

Element de equals Germany

Element uk equals United Kingdom

Element us equals United States

hàm asort () gi� nguyên ch� s� chu!i, ch� s p x�p trên giá tr) chu!i c�a ch� s� chu!i

t��ng �ng.

Các hàm rsort () và arsort () cách th�c s( d&ng gi�ng nh� hàm sort () và asort ()

nh�ng s p x�p theo h��ng ng��c l�i v�i tr�t t� tr��c �ó.

3- S�p x�p t�ng d�n theo ch� s� (index) :

Hàm ksort () :

Ví d& :

$countries = array (“e”=>“United States”, “d”=>“United Kingdom”,

“c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”);

ksort ($countries);

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>");

}

K�t qu� :

Element a equals Germany

Element b equals Costa Rica

Element c equals Canada

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 32/68 www.qhonline.info

Element d equals United Kingdom

Element e equals United States

L�u ý : không có hàm s p x�p gi�m dn theo ch� s� (index), mu�n s p x�p nh� th� ta

s( d&ng hàm ksort (), r#i sau �ó s( d&ng hàm arsort ()� ��t ���c m&c �ích nêu trên.

4- Hàm s�p x�p theo quy ��nh tr��c c a ng�!i s d�ng:

a) Ch� liên quan ��n giá tr) t��ng �ng v�i ch� s� (index) :

Hàm usort () : không gi� l�i ch� s� (index) c�

Ví d& :

function by_length ($a, $b) {

$l_a = strlen ($a);

$l_b = strlen ($b);

if ($l_a == $l_b) return 0;

return ($l_a < $l_b) ? –1 : 1;

}

$countries = array (“e”=>“United States”, “d”=>“United Kingdom”,

“c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”);

usort ($countries, by_length);

while (list ($key, $value) = each ($countries)) {

echo ("Element $key equals $value <BR>");

}

K�t qu� :

Element 0 equals Canada

Element 1 equals Germany

Element 2 equals Costa Rica

Element 3 equals United States

Element 4 equals United Kingdom

Vi�c s( d&ng hàm usort () trong s p x�p cho phép ng��i s( d&ng ��a vào quy �)nh

s p x�p c�a riêng h� nh� trong ví d& trên là v� chi�u dài c�a câu: câu ng n % trên, câu

dài % d��i, nh�ng hàm usort () không gi� l�i ���c ch� s� (index) nguyên th�y nh� lúc

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 33/68 www.qhonline.info

ban �u c�a mãng, mu�n gi� nguyên ch� s� (index) nh� lúc ban �u ta hãy s( d&ng

hàm uasort ().

b) Ch� liên quan ��n vi�c s p x�p ch� s� (index) theo quy �)nh tr��c b%i ng��i s(

d&ng : ta s( d&ng hàm uksort () (cách s( d&ng thì t��ng t� nh� hàm v�a h�c % trên)

c) Hàm t�o dãy s� nguyên ng+u nhiên trong ph�m vi t� a -> b :

(�i�u ki�n: a : integer, b : integer và a < b)

Ví d& : T�o dãy s� nguyên ng+u nhiên trong ph�m t� 1 ��n 10

$int = range (1, 10);

srand (time ());

suffle ($int);

while (list ( , $num) = each ($int)) {

echo (“$num <BR>”);

}

III – T�ng k�t:

Qua bài h�c này, chúng ta tìm hiu k/ v� các thành phn c�a m�ng m�t chi�u, nhi�u

chi�u và các hàm c� b�n v x( lý d� li�u. Hiu rõ c"u trúc m�ng, s� s p x�p �#ng b�

s� giúp ích cho các b�n r"t nhi�u trong nh�ng �ng d&ng l�n.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 34/68 www.qhonline.info

Bài 4: Hàm Và G�i L�i Hàm I- T�o Hàm Trong Php:

Ta nên t�o các hàm v�i lý do: � t�ng tính nh"t quán, �� tin c�y, gi�m th�i gian vi�t

mã và t�ng tính m�m d$o cho ch��ng trình.

Trong php, hàm (có giá tr) tr� v�) và th� t&c (không có giá tr) tr� v�) ��u ���c g�i

chung là hàm. �)nh ngh�a m�t hàm ���c xây d�ng b%i ng��i s( d&ng nh� sau:

function tênhàm([thams� 1, tham s� 2, ...)

{

//N�i dung phn �)nh ngh�a c�a hàm

}

Trong �ó: function: là t� khoá.

- Tên hàm: Là m�t tên h�p l� ���c ��t theo qui t c nh� ��t tên bi�n và không trùng

v�i các tên hàm �ã xây d�ng trong php.

- M�t hàm có th có m�t hay nhi�u tham s� hay không có tham s� nào. Các tham

s� (n�u có) s� không có kèm theo kiu d� li�u mà kiu c�a nó s� tu* thu�c vào

giá tr) nh�n ���c khi g�i hàm.

- Phn n�i dung hàm n'm trong c�p d"u bao kh�i {}.

- Hàm s� nh�n giá tr) tr� v� thông qua phát biu return giátr).

- return; s� thoát kh-i hàm và không tr� v� giá tr) nào.

- return bi�uth�c; s� thoát kh-i ch��ng trình và tr� v giá tr) bi�uth�c.

- Hàm có th ��t b"t c� v) trí nào trong trang và ch� ���c thi hành khi ta th�c hi�n

g�i hàm.

Ví d&: Vi�t hàm kim tra xem m�t s� có ph�i là s� nguyên t� hay không. Hàm s�

nh�n giá tr) tr� v�: true hay false t��ng �ng v�i tham s� nh�n vào là s� nguyên t� hay

không.

<?

//Hàm có giá tr) tr� v�: true/false.

function IsNguyenTo($num)

{

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 35/68 www.qhonline.info

for($i=2; $i<$num; $i++)

if ($num % $i==0) return false;

return true; }

// Hàm không có giá tr) tr� v�. K�t qu� in ngay trong hàm

function IsNguyenTo2($num)

{

$i=2;

$nto = 1;

while ($i<$num)

{

if ($num % $i==0)

{

$nto = 0;

break; //Thoát kh-i while

}

$i++;

}

if ($nto) echo "| " .$num;

}

$ArrNum = array(2, 3, 5, 6, 9, 10, 23, 28, 29);

echo " Danh sach cac so nguyen to trong mang :<br>";

//Duy�t qua các phn t( trong m�ng

for ($i=0; $i<9; $i++)

//Truy�n tham s� và g�i hàm.

if (IsNguyenTo($ArrNum[$i]))

echo "| ". $ArrNum[$i];

echo "<br>";

for ($i=0; $i<9; $i++)

IsNguyenTo2($ArrNum[$i]);

?>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 36/68 www.qhonline.info

II- Truy�n Các Giá Tr� M�c ��nh:

Các hàm trong php có th nh�n các tham s� m�c �)nh. Các tham s� m�c �)nh khi �)nh

nghiã hàm, chúng ���c gán giá tr). $thams� = giátr). Các hàm có tham s� m�c �)nh

nên chuyn các tham s� m�c �)nh sang ph�i.

function tênhàm($thams�_1, $thams�_2 = gíatri_2, $thams�_3=giátr)_3)

Các tham s� $thams�_2 và $thams�_3 là các giá tr) m�c �)nh. Khi g�i hàm, n�u ta ch�

truy�n 1 giá tr) cho hàm thì giá tr) �ó là c�a $thams�_1. Các tham s� $thams�_2 và

$thams�_3 nh�n các giá tr) là gíatri_2 và giátr)_3.

Ví d&: Hàm function F($num1, $num2 = 5) {…} ta s� g�i F(3) 1 F(3, 5).

III- Truy�n Tham Bi�n Và Tham Tr�:

T"t c� các ví d& tr��c, t"t c� vi�c truy�n bi�n ��u là tham tr). � truy�n tham bi�n

(bi�n ���c truy�n có th thay � i n�i dung khi ra kh-i hàm), khi g�i hàm, ta ��t thêm

d"u & tr��c bi�n cn truy�n tham bi�n.

Ví d&:

<? function F($a, $b)

{

$a = 5;

$b = 5;

echo "<br>Trong ham F(), a = " .$a ." va b= " .$b;

}

$a = 8;

$b = 8;

echo "<br>1. Ngoai ham F(), a = " .$a." va b= " .$b;

//G�i hàm tham tr).

F($a, $b);

echo " <br>2. Ngoai ham F(), a = " .$a." va b= " .$b;

//G�i hàm v�i bi�n $a là tham bi�n

F(&$a, $b);

echo " <br>3. Ngoai ham F() a = " .$a." va b= " .$b;

?>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 37/68 www.qhonline.info

K�t qu�:

1. Ngoai ham F(), a = 8 va b= 8

Trong ham F(), a = 5 va b= 5

2. Ngoai ham F(), a = 8 va b= 8

Trong ham F(), a = 5 va b= 5

3. Ngoai ham F() a = 5 va b= 8

IV- T�m v�c c�a bi�n:

M�t bi�n trong m�t hàm ch� có ph�m vi trong hàm �ó. Tuy nhiên, n�u trong m�t hàm,

ta cn truy c�p ��n m�t bi�n mà không thông qua truy�n tham s� qua g�i hàm, ta ph�i

s( d&ng t� khoá global tr��c bi�n nh� minh ho� trong ví d& sau: Hàm local_Func có

truy c�p ��n m�t bi�n ngoài nh�ng không s( d&ng t� khoá global. Ng��c l�i hàm

global_Func c�ng truy c�p ��n cùng m�t bi�n value, nh�ng tác ��ng % hai hàm s�

khác nhau.

Ví d&:

<?

function localFunc()

{

$value = 100;

echo “<p>Trong local, value co gia tri la :” + $value;

}

function globalFunc()

{

global $value;

echo “<p>Trong Global, value co gia tri la :” + $value;

}

$value = 5;

echo “<p>1.Gtri bien value = “ . $value;

localFunc();

echo “<p>2.Gtri bien value = “ . $value

globalFunc();

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 38/68 www.qhonline.info

echo “<p>3. Gtri bien value = “ . $value

?>

K�t qu�:

1. Gtri bien value = 5

Trong local, value co gia tri la: 100

2.Gtri bien value =5

Global, value co gia tri la :5

3. Gtri bien value = 5

V- S� d�ng l�i mã PHP:

� s( d&ng l�i mã trong nhi�u trang web (các script), ta th��ng vi�t các hàm, �)nh

ngh�a các h'ng hay các �o�n mã và l�u vào m�t file riêng. Khi �ó, m�t trang php nào

cn s( d&ng các �o�n mã �ã vi�t, có th chèn vào v) trí cn thi�t. � chèn m�t file có

s0n vào trang web, ta s( d&ng m�t trong b�n câu l�nh sau: include (filename), require

, include_once, require_once.

Ví d&: <? Include (“functions.php”) ?> s� chèn file functions.php t� cùng th� m&c v�i

trang �ang vi�t vào ngay v) trí ��t l�nh include.

Ví d&: có file includefile.php có n�i dung

<?php

echo 'You have included a file';

?>

T�o file mainfile.php có n�i dung.

<?php

include 'includefile.php';

echo 'I should have included a file.';

?>

File mainfile.php t��ng ���ng v�i file có n�i dung:

<?php

echo 'You have included a file';

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 39/68 www.qhonline.info

echo 'I should have included a file.';

?>

Khác bi�t gi�a include, include_once, require, require_once

Include: ��c file filename vào ngay t�i v) trí câu l�nh. Tr��ng tr��ng h�p không tìm

th"y file filename, Ch��ng trình phát ra c�nh báo nh�ng v+n ti�p t&c th�c thi các câu

l�nh sau include.

Require: Th�c thi gi�ng include, tuy nhiên khi không tìm th"y filename, ch��ng

trình s� không ti�p t&c th�c thi các câu l�nh ti�p theo.

Require_once và Include_once: Làm vi�c gi�ng nh� require và include nh�ng nó

ch� cho phép filename ch� ���c chèn vào trang web m�t ln.

VI- T�ng k�t:

K�t thúc bài h�c này, h2n các b�n �ã có nh�ng khái ni�m c� b�n v� hàm và cách s(

d&ng l�i mã PHP. Trên �ng d&ng th�c t� vi�c dùng các hàm � tri�u g�i �óng vai trò

khá quan tr�ng, nó giúp mã ngu#n c�a ng��i s( d&ng logic và d� dàng ch�nh s(a h�n,

vi�c �ng d&ng nó trên website nh� th� nào c�ng s� tùy bi�n h�n so v�i cách vi�t tr�c

ti�p trên t�ng file.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 40/68 www.qhonline.info

Bài 5: Làm Vi�c V�i Chu!i I- Nh�ng khái ni�m c� b�n:

Trong PHP chu!i ���c xác �)nh theo 3 cách:

+ D"u nháy ��n : VD: ‘abc’;

+ D"u nháy kép : VD “abc”;

+ Heredoc

Ví d&:

<?php $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD;

?>

Khuy�n khích s( d&ng kiu nháy kép vì nó h! tr� nhi�u ký t� ��c bi�t h�n kiu nháy

��n.

1- Ph�"ng th�c n�i chu�i và ký t� ��c bi�t trong PHP:

� n�i 2 chu!i v�i nhau, PHP cho phép ng��i s( d&ng dùng cú pháp: d"u (.) � n�i

hai chu!i v�i nhau thành 1 chu!i dài h�n.

Ví d&:

<?php

$a=”abc”;

Echo “12345 ”.$a. “mnb”;

?>

� x( lý nh�ng ký t� l� trong chu!i nh� d"u “ ho�c $, PHP cung c"p cho ta 1 ph��ng

th�c x( lý hi�u qu�. �ó là thêm d"u “\” sau m!i giá tr).

Ví d&:

<?php

Echo “gia tri \$a trong PHP that \“de hieu\” phai khong nao”;

?>

Ta có b�ng ký t� sau:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 41/68 www.qhonline.info

\n Ký t� xu�ng dòng

\r Tr% v� �u dòng

\t Ký t� tab

\\ backslash

\$ dollar sign

\" double-quote

II- Các hàm v� chu�i c� b�n:

1- Hàm substr() :

cú pháp : string substr (string source, int begin, int length);

tr� v� 1 chu!i con trong chu!i cn l"y, ��i s� th� 3 là tùy ch�n, v) trí �u tiên c�a

chu!i ���c tính là v) trí 0.

ví d& 1:

echo (substr (“christopher”, 1)); // in ra “hristopher”

echo (substr (“christopher”, -2)); // in ra “er”

//N�u ��i s� th� hai là s� âm nó s� ��m t� cu�i chu!i ng��c l�i phía tr��c s� ký t�

b'ng v�i giá tr) tuy�t ��i c�a s� âm �ó.

echo (substr (“christopher”, -5, 3)); // in ra “oph”

echo (substr (“christopher”, -3)); // in ra “her”

echo (substr (“christopher”, 2, 3)); // in ra “ris”

echo (substr (“christopher”, 2, -3)); // in ra “ristop”

echo (substr (“christopher”, -6, -3)); // in ra “top”

echo (substr (“christopher”, 7, -8)); // in ra “” chu!i r!ng

2- Hàm strlen():

cú pháp : int strlen (string str);

xác �)nh chi�u dài c�a chu!i

Ví d& :

echo (strlen (“Christopher”)); // in ra s� 11

3- Hàm thay �#i ki�u ch:

+ Hàm strtoupper () : � i ch� th��ng thành hoa

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 42/68 www.qhonline.info

ví d& : strttoupper (“toi”); // in ra “TOI”

+ Hàm strtolower () : � i ch� hoa thành th��ng

ví d& : strlower (“TOI”); // in ra “toi”

+ Hàm ucfirst () : � i ch� in ký t� �u tiên c�a câu

ví d& : ucfirst (“in house”); // in ra “In house”

+ Hàm ucwords () : � i ch� in ký t� �u tiên c�a m!i t�

ví d& : ucwords (“in house”); // in ra “In House”

4- Hàm so sánh chu�i:

Có th dùng toán t( so sánh = = (b'ng), !=, <, <=, >, >=, ===� so sánh các chu!i.

Ngoài ra, ta còn có m�t s� ph��ng th�c so sánh chu!i nh� sau:

Các hàm strcmp(), strcasecmp(), strnatcmp() s� so sánh các chu!i theo phép so sánh

t� �in.

Hàm int strcmp(string S1, string S2): So sánh 2 chu!i S1, S2 có phân bi�t

hoa/th��ng. Hàm này tr� v� giá tr) >0 n�u S1>S2, 0 n�u S1=S2 và giá tr) <0 n�u

S1<S2. Nói chung hàm này có th s( d&ng gi�ng toán t( so sánh trong biu th�c.

Hàm int strcasecmp(string S1, string S2): Gi�ng hàm strcmp() nh�ng không phân bi�t

ch� hoa và ch� th��ng.

Ví d&

<?php

$var1 = "Hello";

$var2 = "hello";

echo “Length $var1:” . strlen($var1);

if (!strcasecmp ($var1, $var2))

echo “$var1 = $var2 in a case-insensitive “

if (strcmp($var1, $var2) >0)

echo “$var1 > $var2”;

if (strcmp($var1, $var2) <0)

echo “$var1 < $var2”;

if (strcmp($var1, $var2) ==0)

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 43/68 www.qhonline.info

echo “$var1 = $var2”;

?>

K�t qu� hi�n th�:

Length Hello:5

Hello = hello in a case-insensitive

Hello < hello

5- Hàm tìm ki�m và thay th� chu�i:

+ Tìm ki�m chu!i bên trong chu!i : � tìm ki�m 1 chu!i bên trong 1 chu!i khác, b�n

có th s( d&ng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên s�

tr� v� chu!i str1, n�u tìm th"y chu!i str1 trong chu!i str2, ng��c l�i hàm tr� v� giá tr)

false, n�u có nhi�u chu!i con str1 trong str2, thì hàm này ch� tìm ki�m chu!i str1 �u

tiên.

Hàm strstr () :

cú pháp : string strstr (string str1, string str2);

ví d& :

<?php

$str = “Your customer service is excellent”;

echo (strstr ($str, “is”) . “<BR>”); // is excellent

?>

+ Hàm t�o chu!i con:Hàm string substr (string S, int start [, int length]): tr� v�

chu!i con ���c thành l�p t( chu!i S v�i các tham s� start và length. N�u start >=0:

s� tr� v� chu!i b t �u t� v) trí start trong S.

Ví d&:

<?php

$rest = substr ("abcdef", 1); // returns "bcdef"

$rest = substr ("abcdef", 1, 3); // returns "bcd"

?>

N�u start <0: s� tr� v� chu!i b t �u t� v) trí start c�a S tính t� cu�i chu!i.

<?php

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 44/68 www.qhonline.info

$rest = substr ("abcdef", -1); // returns "f"

$rest = substr ("abcdef", -2); // returns "ef"

$rest = substr ("abcdef", -3, 1); // returns "d"

?>

N�u length >=0 (giá tr) m�c �)nh là 0), chu!i tr� v� có chi�u dài length ký t� tính t�

v) trí start.

N�u length < 0: Chu!i tr� v� chu!i t� start t�i v) trí k�t thúc cách cu�i chu!i length ký

t�.

+ Hàm thay th� chu!i con :

Hàm str_replace () :

Cú pháp : string str_replace (string str1, string str2, string str);

Hàm thay th� chu!i S1 b'ng chu!i S2 trong chu!i S. Trong tr��ng h�p có nhi�u S1

trong S, t"t c� các S1 ��u ���c thay b%i S2 (thay th� t"t c�).

<?php

$bodytag = str_replace ("%body%", "black", "<body text=%body%>");

//$bodytag = "<body text=%body%>”

?>

Hàm substr_replace () :

Cú pháp : string substr_replace (string str, string replacement, int start, int [length]);

Hàm này s� thay th� chu!i str b'ng chu!i replacement, phn nào c�a chu!i str ���c

thay th� s� tùy thu�c vào 2 tham s� là start và length.

+ start : v) trí b t �u c�a chu!i thay th� replacement trong chu!i str

N�u start >= 0 : v) trí thay th� s� ���c tính t� �u chu!i tr% �i, start tính b'ng ��n v)

ký t� (v) trí th� nh"t c�a chu!i là 0).

N�u start < 0 : Nó s� ���c tính b t �u t� cu�i chu!i.

+length : là tham s� tùy ch�n, cho bi�t �im d�ng vi�c thay th�. N�u không có ��i s�

này thì vi�c thay th� s� là t� v) trí start ��n cu�i chu!i.

N�u length = 0 : vi�c thay th� s� là chèn vào v) trí start và ký t� tr��c start

N�u length > 0 : cho bi�t s� ký t� mà b�n mu�n thay th� v�i replacement

N�u length < 0 : cho bi�t �im k�t thúc vi�c thay th� tính t� v) trí cu�i chu!i tr% l�i

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 45/68 www.qhonline.info

Các hàm ���c gi�i thi�u phía trên là nh�ng hàm thông d&ng và th��ng s( d&ng. �

bi�t thêm thông tin nhi�u hàm h�n, các b�n có th truy c�p vào website : php.net �

l"y thông tin �y �� v� các hàm trong chu!i.

III- T�ng k�t:

, bài này chúng ta �ã làm tìm hiu k/ v� kiu d� li�u chu!i, nh�ng hàm ph& tr� quan

tr�ng trong vi�c l�p trình �ng d&ng nh� tìm ki�m, thay th�, so sánh,….��i v�i PHP

chu!i là m�t trong nh�ng m�ng có phong phú v� các hàm, � s( d&ng t�t chúng b�n

cn hiu rõ nguyên t c ho�t ��ng c�a t�ng hàm, n m v�ng c"u trúc c� b�n trong các

hàm chu!i � t� �ó chúng ta d� dàng v�n d&ng chúng trong các �ng d&ng l�n.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 46/68 www.qhonline.info

Bài 6: Các Thao Tác Trên File I- C� b�n v� File:

1- M� file : S( d&ng hàm fopen ()

Cú pháp : int fopen (string filename, string mode)

��i v�i h� �i�u hành Unix hay Linux, th� m&c g�c ���c �)nh ngh�a b'ng d"u /,

nh�ng ��i v�i h� �i�u hành Windows, th� m&c g�c ���c �)nh ngh�a trên m�t d�a c&

th nào �ó ví d& nh� C:\, d"u phân cách gi�a các th� m&c và t�p tin trong Unix ho�c

Linux chúng ta s( d&ng d"u /, còn trong windows chúng ta s( d&ng \

ví d& :

trong Linux :

$fl = fopen (“/website/customers.txt”, “w”);

trong Windows :

$fw = fopen (“C:\webdesign\sales.txt”, “r”);

a. Các ch� �� m� file :

Mode Di�n gi�i

r Read only

r+ Read_Write

w Write Only

w+ Write_Read. N�u file này t#n t�i, n�i dung c� s� b)

xoá �i, còn n�u không t#n t�i nó s� ���c t�o m�i

a M% d��i d�ng append d� li�u, ch� có write, n�u file

t#n t�i, s� ghi ti�p vào phn d��i c�a n�i dung có

s0n, n�u file không t#n t�i s� ���c t�o m�i.

a+ M% d��i d�ng append d� li�u (write và read), n�u file

t#n t�i, d� li�u s� ghi ti�p vào phn bên d��i c�a n�i

dung c�, n�u file không t#n t�i s� ���c t�o m�i

b M% d��i ch� �� file binary

Trong tr��ng h�p không bi�t file n'm % v) trí nào trên h� th�ng, b�n có th khai báo

thêm tham s� là s� 1 cho hàm fopen () nh� sau :

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 47/68 www.qhonline.info

$fw = fopen (“customers.txt”, “a”, 1);

ví d& :

<html>

<body>

Open File <BR>

<?

$f = “C:\thuchanh\vanban.txt”

$fw = fopen ($f, “a”);

?>

</body>

</html>

b. M� file thông qua ftp hay http :

Ví d& :

$f = “ftp://www.qhonline.info/orders.txt”;

$fw = fopen ($f, “a”);

ho�c :

$f = “http://www.qhonline.info.com/orders.txt”;

$fw = fopen ($f, “a”);

c. M� file và vi�c s d�ng toán t @ �� b�t l�i

Xem �o�n ch��ng trình sau �ây :

<html>

<body>

Open file and Debug <BR>

<?

$f = “C:\thuchanh\vanban.txt”;

@$fw = fopen ($f, “a”);

if (!$fw) {

echo (“File b) tr&c tr�c, không m% ���c”);

}

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 48/68 www.qhonline.info

?>

</body>

</html>

2- óng file : hàm fclose ()

Cú pháp : int fclose (int fw)

$fw là bi�n nh�n giá tr) tr� v� khi g�i hàm m% file $fw = fopen (...);

3- Hi�n th� file : hàm fpassthru ()

Cú pháp : int fpassthru (int fw)

Hàm này có th hin th) c� file �nh

Ví d& :

if (!$fw = fopen (“picture.gif”, “rb”)) {

echo (“could not open file”);

}

else {

fpassthru ($fw);

}

4- ��c file :

a) Hàm fread ()

Cú pháp : string fread (int fw, int length);

m!i ln ��c length ký t�

Ví d& :

if (!$fw = fopen (“vanban.txt”, “r”)) {

echo (“could not open file”);

}

else {

$text = fread ($fw, 10); // ��c 10 ký t� �u c�a file

fclose ($fw);

}

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 49/68 www.qhonline.info

N�u nh� file có s� ký t� ít h�n length ký t� trong fread (), nó s� ��c �úng s� ký t�

c�a file.

b) Hàm fgetc ():

Cú pháp : string fgetc (int fw)

��c �úng 1 ký t� c�a file. N�u file r!ng (không có ký t�) thì nó s� tr� v� m�t chu!i

r!ng (false)

c) Hàm fgets ()

Cú pháp : string fgets (int fw, int length);

s� d�ng vi�c ��c file khi g�p ký t� new line hay cu�i file.

d) Hàm fgetss ()

Cú pháp và ho�t ��ng y nh� hàm fgets (), nh�ng các ký t� n'm trong c�p d"u <> s� b)

lo�i b- khi ��c, cho dù v�y nó v+n ���c tính vào chi�u dài c�a chu!i ��c.

e) Hàm file ()

Cú pháp : array file (string filename);

m!i dòng c�a file ���c ��c s� là 1 phn t( c�a mãng, dòng �u tiên c�a file s� là

phn t( 0

Ví d& :

$arrtext = file (“vanban.txt”);

for ($i = 0; $i < count ($arrtext); $i++) {

echo (“<P> $arrtext[$i] </P>”);

}

5- Ghi lên file :

Hàm fwrite () và fputs ()

Cú pháp : int fwrite (int fw, string str, int length);

int fputs (int fw, string str, int length);

��i s� th� ba n�u không ��a vào thì toàn b� chu!i s� ���c ghi, còn n�u ��a vào ��i

s� th� ba thì nó s� ghi vào file chu!i str (��i th� hai) có �� dài �úng b'ng chi�u dài

length c�a ��i s� th� ba.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 50/68 www.qhonline.info

II- Các hàm x� lý file:

1- Các hàm d�ch chuy�n ho�c qu�n lý con tr$ m%u tin trong file :

a) Hàm rewind ()

Cú pháp : int rewind (int fw);

��a con tr- m3u tin v� �u file

b) Hàm fseek ()

Cú pháp : int fseek (int fw, int offset);

Di chuyn con tr- m3u tin ��n m�t v) trí xác �)nh trong file

offset : s� byte ho�c s� character tính t� �u file

Ví d& : fseek ($fw, 1); // di chuyn ��n ký t� th� hai c�a file

c) Hàm ftell ()

Cú pháp : int ftell (int fw);

cho bi�t v) trí hi�n th�i c�a con tr- m3u tin

Ví d& :

fseek ($fw, ftell ($fw) + 20); t� v) trí hi�n th�i d)ch chuyn thêm 20 ký t�

d) Hàm feof ()

Cú pháp : int feof (int fw);

cho bi�t v) trí cu�i file

Ví d& :

if (!$fw = fopen (“vanban.txt”, “r”)) {

echo (“could not open file”);

}

else {

while (!feof ($fw)) {

echo (fgetc ($fw));

}

}

2- Copy, Delete, Rename file:

a) Hàm Copy ()

Cú pháp : int copy (string source, string destination);

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 51/68 www.qhonline.info

b) Hàm unlink ()

Cú pháp : int unlink (string filename);

delete file, file ���c delete ph�i �óng (không m%)

c) Hàm rename ()

Cú pháp : int rename (string oldname, string newname);

��t tên file l�i

II- T�ng k�t:

Vi�c s( d&ng file m�t cách thành th�o s� giúp b�n d� dàng v�n hành các �ng d&ng

mang quy mô v�a và nh- nh�: website nhi�u ngôn ng�, b� ��m,…và c� nh�ng công

ngh� web m�i nh� XML m�t cách d� dàng,

Qua bài h�c này chúng ta c�ng hiu ���c nguyên lý ho�t ��ng, trình t� x( lý 1 file d�

li�u khi chúng ���c tri�u g�i trong tài li�u PHP.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 52/68 www.qhonline.info

Bài 7: X( Lý Form Trong PHP I- T��ng tác v�i ng� i s� d�ng:

PHP cho phép ng��i s( d&ng t��ng tác v�i chúng thông qua form nh�p li�u ���c vi�t

thun túy trên HTML. Tuy nhiên � làm ���c �i�u "y PHP yêu cu form ph�i �áp

�ng 1 s� quy �)nh chung ��t ra.

Chúng ta cùng phân tích th$ form trong HTML sau:

<form name=”Tên form” action=”link x( lý” method=”Ph��ng th�c”>

Chúng ta th"y r'ng 1 form ph�i bao g#m:

Tên form � d� dàng tách bi�t v�i giá tr) c�a chúng.

Action: hành ��ng chuyn ti�p ��n link x( lý.

Method: Là ph��ng th�c truy�n bao g#m POST và GET.

Ví d&:

<form action = “check.php” method = post name=reg>

Please type your name here : <BR>

<input type = text name = “username”><BR><BR>

<input type = submit value = “Submit Data” name=”add”>

</form>

V�y làm cách nào � chúng ta l"y ���c giá tr) v�a nh�p li�u nào ?.

PHP cho phép ta l"y giá tr) d�a vào 2 ph��ng th�c POST và GET.

��i v�i POST ta có : $_POST[‘Giá tr)’]

��i v�i GET ta có : $_GET[‘Giá tr)’]

V�y v�i �o�n code trên có th l"y ���c bi�n x( lý là : $_POST[‘username’];

II- X� lý d� li�u t! trang ng� i nh�p li�u.

1- Ph�"ng th�c POST:

Ph��ng th�c này ���c s( d&ng � l"y d� li�u t� form nh�p li�u. Và chuyn chúng

lên trình ch� webserver.

2- Ph�"ng th�c GET:

Ph��ng th�c này c�ng ���c dùng � l"y d� li�u t� form nh�p li�u. Tuy nhiên nhi�m

v& chính c�a nó v+n là l"y n�i dung trang d� li�u t� web server.

Bài t�p ví d&:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 53/68 www.qhonline.info

Xây d�ng 1 trang HTML v�i n�i dung g#m form nh�p li�u h� và tên. Sau �ó dùng 1

file php � xu"t ra thông tin h� và tên mà ng��i s( d&ng v�a nh�p li�u.

�áp Án:

T�o file userform.htm v�i n�i dung sau:

<html> <form action = “processform.php” method = post> Please type your name here : <BR> <input type = text name = “username”><BR><BR> <input type = submit value = “Submit Data”> </form> </html> T�o file processform.php � xu"t ra d� li�u <? echo “Welcome, ” . $_POST[‘username’] . “!”; ?>

Bài t�p áp d&ng :

T�o 1 trang web v�i h�p tho�i nh�p li�u username và password. N�u ng��i s( d&ng

nh�p thông tin username/password là admin/12345 thì xu"t ra thông báo “welcome,

admin” v�i kiu ch� Tahoma, màu �-. Ng��c l�i n�u nh�p sai thì xu"t thông báo

“Username ho�c password sai. Vui lòng nh�p l�i”.

�áp án:

T�o trang login.html v�i n�i dung sau:

<html> <head> <title>login page</title> </head> <body> <form action="checklogin.php" method=POST> Username <input type=text name="user" size=15> <br>Password <input type=password name="pass" size=15> <br><input type=submit name=submit value="Login"> </form> </body> </html>

Ti�p t&c t�o trang checklogin.php v�i n�i dung sau:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 54/68 www.qhonline.info

<?php $username=$_POST['user']; $password=$_POST['pass']; if($username == "admin" && $password="12345") { echo "<font color=red face=tahoma>Welcome to, ".$username."<font>"; } else { echo "<font color=red face=tahoma>Username hoac password khong chinh xac, vui long dang nhap lai<font>"; } ?>

III- T�ng K�t:

K�t thúc bài này các b�n �ã n m ���c k/ thu�t kim tra thông tin d�a trên PHP. K/

thu�t xây d�ng trang upload, kim tra tính h�p l� c�a ng��i s( d&ng 1 cách d� dàng

b%i s� tùy bi�n trong các biu th�c c�a PHP.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 55/68 www.qhonline.info

Bài 8: Qu�n Lý Phiên Làm Vi�c I- T�ng quan v� cookie:

Cookie là 1 �o�n d� li�u ���c ghi vào ��a c�ng ho�c b� nh� c�a máy ng��i s( d&ng.

Nó ���c trình duy�t g%i ng��c lên l�i server m!i khi browser t�i 1 trang web t�

server.

Nh�ng thông tin ���c l�u tr� trong cookie hoàn toàn ph& thu�c vào website trên

server. M!i website có th l�u tr� nh�ng thông tin khác nhau trong cookie, ví d& th�i

�im ln cu�i ta ghé th�m website, �ánh d"u ta �ã login hay ch�a, v.v...

Cookie ���c t�o ra b%i website và g%i t�i browser, do v�y 2 website khác nhau (cho

dù cùng host trên 1 server) s� có 2 cookie khác nhau g%i t�i browser. Ngoài ra, m!i

browser qu�n lý và l�u tr� cookie theo cách riêng c�a mình, cho nên 2 browser cùng

truy c�p vào 1 website s� nh�n ���c 2 cookie khác nhau.

1- Thi�t l&p cookie trong PHP:

� thi�t l�p cookie ta s( d&ng cú pháp:

Setcookie(“tên cookie”,”giá tr)”)

Tên cookie là tên mà chúng ta ��t cho phiên làm vi�c.

Giá tr) là thông s� c�a tên cookie.

Ví d&:

Setcookie(“username”,”admin”)

Nh� ví d& trên ta th"y v�i tên là username và giá tr) là admin.

Chú ý: K)ch b�n cookie ph�i ��t trên m�i giá tr) tr� v� bao g#m th$ HTML và l�nh

echo.

2- S d�ng cookie trong PHP:

� s( d&ng l�i cookie v�a thi�t l�p, chúng ta s( d&ng cú pháp:

Cú pháp: $_COOKIE[“tên cookies”]

Tên cookie là tên mà chúng ta thi�t l�p phía trên.

Ví d&:

T�o trang cookie.php v�i n�i dung sau:

<?php

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 56/68 www.qhonline.info

setcookie("name","Kenny Huy"); ?> <html> <head> <title>Test page 1</title></head> <body> <b><a href=cookie2.php>Click here</a></b> </body> </html>

Ti�p t&c t�o trang cookie2.php v�i n�i dung sau:

<html> <head><title>Result Page</title></head> <body> <?php echo "Ten cua ban la <b>".$_COOKIE['name']."</b>"; ?> </body> </html>

3- �nh d�ng các tham s� khác trong cookie:

Cú pháp c� b�n:

Setcookie(“Tên Cookie”,”Giá tr)”,”Th�i Gian”,”���ng d+n”,”Tên mi�n”,”An toàn”

Tên cookie là tên mà chúng ta ��t cho phiên làm vi�c.

Giá tr) là thông s� c�a tên cookie.

Th�i gian là th�i h�n dùng � thi�t l�p s� t#n t�i c�a cookie. ���c tính theo s� giây

so v�i m�c ngày 1-1-1970. Th��ng ���c tính b'ng th�i gian hi�n t�i c�ng v�i 1

kho�ng th�i gian nào �ó mu�n s( d&ng cookie

���ng d+n là th� m&c nào thì cookie có tác d&ng.

Tên mi�n là tên trang web mà chúng ta thi�t l�p cookie .

An toàn là s� l�a ch�n cookie có ���c g(i theo giao th�c HTTPS hay không. Ch�n 1

là có và 0 là k�t n�i thông th��ng(HTTP).

Ví d&:

Setcookie(“user_id”,”1301”,time()+3600,”/”,””,0);

Tên cookie: User_id

Giá tr): 1301

Th�i gian: Cookie t#n t�i trong 1 gi� tính t� th�i gian thi�t l�p.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 57/68 www.qhonline.info

���ng d+n: trên m�i th� m&c

Tên mi�n: B- qua thu�c tính này

An toàn: Ch"p nh�n giao th�c HTTP(thông th��ng).

4- H y Cookie:

� h�y 1 cookie �ã ���c t�o ta có th dùng 1 trong 2 cách sau:

a) Cú pháp: setcookie(“Tên cookie”)

G�i hàm setcookie v�i ch� duy nh"t tên cookie mà thôi

b) Dùng th�i gian h�t h�n cookie là th�i �im trong quá kh�.

Ví d&: setcookie(“name”,”Kenny Huy”,time()-3600);

Ví d&:

Ti�p t&c t�o trang cookie3.php v�i n�i dung sau:

<?php setcookie("name","Kenny Huy",time()-360); ?> <html> <head> <title>Test page 1</title></head> <body> <b><a href=cookie2.php>Click here</a></b> </body> </html>

Bài t�p áp d�ng:

Xây d�ng website s( d&ng tính n�ng cookie th-a mãn nh�ng yêu cu sau:

1- T�o trang ��ng nh�p v�i username/password là : admin/vietchuyen. N�u user

��ng nh�p thành công thì s� xu"t ra dòng welcome, admin.

2- T�o trang ��ng xu"t thoát kh-i phn qu�n tr)

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 58/68 www.qhonline.info

II- T�ng quan v� SESSION

M�t cách khác qu�n lý ng��i s( d&ng là session. Session ���c hiu là kho�ng th�i

gian ng��i s( d&ng giao ti�p v�i 1 �ng d&ng. M�t session ���c b t �u khi ng��i s(

d&ng truy c�p vào �ng d&ng ln �u tiên, và k�t thúc khi ng��i s( d&ng thoát kh-i

�ng d&ng. M!i session s� có ���c c"p m�t �)nh danh (ID) khác nhau và n�i dung

���c l�u trong th� m&c thi�t l�p trong file php.ini (tham s� session.save_path).

Trong PHP, session ���c xem nh� m�t �i�u khin phía server � l�u tr� và qu�n lý

phiên làm vi�c. � làm ���c �i�u này, khi m�t ng��i s( d&ng truy c�p vào m�t

website, webserver cung c"p cho ng��i s( d&ng m�t xâu giá tr) là SessionID g�i là

xâu �)nh danh- ví d& 9b02405434373d6d96c8db11ed819a60. Gía tr) xâu này m�t giá

tr) ng+u nhiên và nó ���c g(i t�i máy ng��i s( d&ng thông qua cookie có tên

PHPSESSID. Giá tr) này t#n t�i cho ��n khi nào chu k* s�ng c�a session k�t thúc

ho�c ng��i s( d&ng di chuyn t�i website khác. Chu k* s�ng c�a session do

webserver qui �)nh. Ta có th �i�u ch�nh chu k* này khi c"u hình webserver.

Bên phía server, m�t t�p tin có tên t��ng �ng PHPSESSID c�ng ���c t�o ra. Các

bi�n session s� ���c l�u trong m�t t�p tin v�n b�n này và % t�i v) trí ���c qui �)nh

trong file php.ini % dòng session.save_path.

1- Thi�t l&p 1 session trong PHP:

� thi�t l�p 1 session ta s( d&ng cú pháp: session_start()

�o�n code này ph�i ���c n'm trên các k)ch b�n HTML. Ho�c nh�ng l�nh echo,

printf.

� thi�t l�p 1 giá tr) session, ngoài vi�c cho phép b t �u th�c thi session. Chúng ta

còn ph�i ��ng ký 1 giá tr) session. � ti�n cho vi�c gán giá tr) cho session �ó.

Ta có cú pháp sau: session_register(“Name”)

Ví d&:

<?php

Session_start();

Session_register(“username”);

?>

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 59/68 www.qhonline.info

2- S d�ng giá tr� c a session:

Gi�ng v�i cookie. � s( d&ng giá tr) c�a session ta s( d&ng mã l�nh sau:

Cú pháp: $_SESSION[“name”]

V�i Name là tên mà chúng ta s( d&ng hàm session_register(“name”) � khai báo.

Ví d&:

T�o trang session.php v�i n�i dung sau:

<?php session_start(); session_register("name"); $_SESSION["name"] = "Kenny Huy"; ?> <html> <head> <title>Test page 1</title></head> <body> <b><a href=session2.php>Click here</a></b> </body> </html>

T�o trang session2.php v�i n�i dung sau:

<? session_start(); ?> <html> <head><title>Result Page</title></head> <body> <?php echo "Ten cua ban la <b>".$_SESSION["name"]."</b>"; ?> </body> </html>

3- H y b$ session trong PHP:

� h�y b- giá tr) c�a session ta có nh�ng cách sau:

Session_destroy() // Cho phép h�y b- session

Session_unset()// Cho phép h�y b- session (bao g#m t"t c� nh�ng gì có liên quan).

Chú ý: Nên c3n tr�ng khi s( d&ng hàm unset.

Ví d&

T�o trang session3.php v�i n�i dung sau:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 60/68 www.qhonline.info

<?php session_start(); session_destroy(); ?> <html> <head> <title>Test page 1</title></head> <body> <b><a href=session2.php>Click here</a></b> </body> </html>

Bài t�p áp d�ng:

Xây d�ng website s( d&ng tính n�ng session th-a mãn nh�ng yêu cu sau:

1- T�o trang ��ng nh�p v�i username/password là : admin/vietchuyen. N�u user

��ng nh�p thành công thì s� xu"t ra dòng welcome, admin.

2- T�o trang ��ng xu"t thoát kh-i phn qu�n tr)

III- T�ng K�t:

Sau bài h�c này chúng ta �ã n m ���c cách �i�u khin phiên làm vi�c gi�a cookie và

session. S( d&ng chúng trong t�ng tr��ng h�p c& th. T� �ó có th áp d&ng � vi�t

nh�ng �ng d&ng nh- nh� kim soát ng��i ��ng nh�p, làm gi- hàng online,…..

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 61/68 www.qhonline.info

Bài 9: T ng Quan V� MYSQL I- Nh�ng khái ni�m c� b�n:

Mysql là h� qu�n tr) d� li�u mi�n phí, ���c tích h�p s( d&ng chung v�i apache, PHP.

Chính y�u t� phát trin trong c�ng �#ng mã ngu#n m% nên mysql �ã qua r"t nhi�u s� h!

tr� c�a nh�ng l�p trình viên yêu thích mã ngu#n m%.

1- Cách kh�i ��ng và s d�ng MYSQL.

Chúng ta s( d&ng command nh� sau:

Mysql –hname –uuser –ppass

� truy c�p vào c� s% d� li�u.

Ho�c s( d&ng b� appserv � vào nhanh h�n theo ���ng d+n sau:

Start/ Appserv/ Mysql command Line client

Sau �ó nh�p password mà chúng ta �ã ��t vào.

2- Nhng ��nh ngh�a c" b�n:

a) �nh ngh�a c" s� d li�u, b�ng, c�t:

C� s% d� li�u: là tên c�a c� s% d� li�u chúng ta mu�n s( d&ng

B�ng: Là 1 b�ng giá tr) n'm trong c� s% d� li�u.

C�t là 1 giá tr) n'm trong b�ng. Dùng � l�u tr� các tr��ng d� li�u.

Thu�c tính

Ví d&:

B�ng user

User_id 1234

First_name Nguyen

Last_name Hai Anh

Username Haianh123

Password 12345

Email [email protected]

Date 2007-12-12 16:25:30

Nh� v�y ta có th hiu nh� sau:

1 c� s% d� li�u có th bao g#m nhi�u b�ng.

1 b�ng có th bao g#m nhi�u c�t

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 62/68 www.qhonline.info

1 c�t có th có ho�c không có nh�ng thu�c tính.

b) �)nh ngh�a 1 s� thu�t ng�:

NULL : Giá tr) cho phép r!ng.

AUTO_INCREMENT : Cho phép giá tr) t�ng dn (t� ��ng).

UNSIGNED : Ph�i là s� nguyên d��ng

PRIMARY KEY : Cho phép nó là khóa chính trong b�ng.

c)Lo�i d� li�u trong Mysql:

, �ây chúng t� ch� gi�i thi�u 1 s� lo�i thông d&ng: 1 s� d� li�u khác có th tham kh�o

trên trang ch� c�a mysql.

Ki�u d� li�u Mô T�

Char �)nh d�ng text có chi�u dài t� 0->255

Varchar �)nh d�ng text có chi�u dài t� 0->255

Text �)nh d�ng text có chi�u dài 0->65535

Longtext �)nh d�ng text có chi�u dài 0->4294967215

INT �)nh d�ng s� có chi�u dài t� 0->4294967215

Float �)nh d�ng s� th�p phân có chi�u dài nh-

Double �)nh d�ng s� th�p phân có chi�u dài l�n

Date �)nh d�ng th�i gian theo �)nh d�ng: YYYY-MM-DD

DateTime �)nh d�ng th�i gian theo �)nh d�ng: YYYY-MM-DD HH:MM:SS

3- Nhng cú pháp c" b�n:

Cú pháp t�o 1 c� s% d� li�u:

CREATE DATABASE tên_c�_s%_d�_li�u

Cú pháp s( d&ng c� s% d� li�u: Use tên_database;

Cú pháp thoát kh-i c� s% d� li�u: Exit

Cú pháp t�o 1 b�ng trong c� s% d� li�u:

CREATE TABLE user (<tên_c�t> <mô_t�>,…,<tên_c�t_n>…..<mô_t�_n>)

Ví d&:

mysql> create table user(user_id INT(15) UNSIGNED NOT NULL

AUTO_INCREMENT, user

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 63/68 www.qhonline.info

ame VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email

VARCHAR(200) NOT N

LL, PRIMARY KEY (user_id));

Query OK, 0 rows affected (0.01 sec)

Hin th) có bao nhi�u b�ng: show tables;

Hin th) có bao nhiêu c�t trong b�ng: show columns from table;

Thêm 1 c�t vào b�ng :

ALTER TABLE tên_b�ng ADD <tên_c�t> <thu�c_tính> AFTER <tên_c�t>

Ví d&:

mysql> alter table user add sex varchar(200) NOT NULL after email;

Query OK, 2 rows affected (0.01 sec)

Records: 2 Duplicates: 0 Warnings: 0

II- Nh�ng cú pháp sql c� b�n:

1- Thêm giá tr� vào b�ng:

Cú pháp: INSERT INTO Tên_b�ng(tên_c�t) VALUES(Giá_tr)_t��ng_�ng);

Ví d&:

mysql> insert into user(username,password,email,sex,home) values("Lanna","12345"

,"[email protected]","F","www.abc.com");

Query OK, 1 row affected (0.00 sec)

2- Truy xu�t d li�u:

Cú pháp: SELECT tên_c�t FROM Tên_b�ng;

Ví d&:

mysql> select user_id,username from user;

3 rows in set (0.00 sec)

4- Truy xu�t d li�u v�i �i�u ki�n:

Cú pháp: SELECT tên_c�t FROM Tên_b�ng WHERE �i�u ki�n;

Ví d&:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 64/68 www.qhonline.info

mysql> select user_id,username from user where user_id=2;

Bài t�p áp d�ng:

T�o c� s% d� li�u v�i thông tin sau:

ID Fname Lname Email Password Sex Phone

1 Nguyen Van Hoa [email protected] 12345 F 0903234532

2 Tran Hoa [email protected] 23456 M 97234512

3 Nguyen Thi Thuy [email protected] 24625 F 98374642

4 Hoang Phi Hong [email protected] 57265 M 94673257

5 Le Van Lam [email protected] 45625 M 93562535

6 Nguyen Cam Nhung [email protected] 52672 F 93525135

7 Hoang Phi Yen [email protected] 63456 F 94754363

Th�c hi�n các công vi�c sau:

1- T�o 1 b�ng v�i các c�t trên.

2- Nh�p li�u thông tin theo nh� b�ng trên.

3- Li�t kê t"t c� thông tin c�a nh�ng ai có sex là female.

4- Li�t kê thông tin c�a ng��i có Lname là “Van Hoa”.

5- Li�t kê t"t c� thông tin c�a nh�ng ai có sex là male và có h� là “Nguy�n”.

6- Li�t kê fname,lname, email c�a nh�ng ai có s� phone “0903234532”.

7- Dùng hàm mã hóa � b�o m�t password c�a ng��i dùng.

5- Truy c&p d li�u và s�p x�p theo trình t�

Cú pháp:

SELECT tên_c�t FROM Tên_b�ng

WHERE �i�u ki�n (có th có where ho�c không)

ORDER BY Theo quy ��c s p x�p.

Trong �ó quy ��c s p x�p bao g#m hai thông s� là ASC (t� trên xu�ng d��i), DESC (t�

d��i lên trên).

Ví d&:

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 65/68 www.qhonline.info

mysql> select user_id,username from user order by username ASC ;

Câu l�nh trên l"y ra thông tin user_id và username t� b�ng user và chúng ���c s p x�p

theo username trình t� t� trên xu�ng d��i.

6- Truy c&p d li�u có gi�i h�n :

Cú pháp:

SELECT tên_c�t FROM Tên_b�ng

WHERE �i�u ki�n (có th có where ho�c không)

LIMIT v) trí b t �u, s� record mu�n l"y ra

Ví d&:

mysql> select user_id,username from user order by username ASC limit 0,10 ;

Câu l�nh trên l"y ra thông tin user_id và username t� b�ng user. Chúng ���c s p x�p

theo username trình t� t� trên xu�ng d��i. Và l"y ra 10 record t� v) trí 0.

7- C&p nh&t d li�u trong b�ng:

Cú pháp:

Update tên_b�ng set tên_c�t=Giá tr) m�i

WHERE (�i�u ki�n).

N�u không có ràng bu�c �i�u ki�n, chúng s� c�p nh�t toàn b� giá tr) m�i c�a các record

trong b�ng.

Ví d&:

mysql> update user set email=”[email protected]” where user_id=1 ;

8- Xóa d li�u trong b�ng:

Cú pháp:

DELETE FROM tên_b�ng WHERE (�i�u ki�n).

N�u không có ràng bu�c �i�u ki�n, chúng s� xó toàn b� giá tr) c�a các record trong b�ng.

Ví d&

mysql>delete from user where user_id=1 ;

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 66/68 www.qhonline.info

III- Mysql và PHP:

1- K�t n�i c" s� d li�u:

Cú pháp:

Mysql_connect(“hostname”,”user”,”pass”)

2- L�a ch�n c" s� d li�u:

Cú pháp:

Mysql_select_db(“tên_CSDL”)

Ví d�:

$conn=mysql_connect(“localhost”,”root”,”root”) or die(“ khong the ket noi”);

Mysql_select_db(“demo”);

3- Th�c thi câu l�nh truy v�n:

Cú pháp:

Mysql_query(“Câu l�nh SQL”)

4- �m s� record trong b�ng:

Cú pháp:

Mysql_num_rows();

5- L�y d li�u t' database:

Cú pháp:

Mysql_fetch_array();

Ví d� :

<?php

$conn=mysql_connect(“localhost”,”root”,”root”) or die(“ khong the ket noi”);

Mysql_select_db(“demo”);

$sql=”select * from user”;

$query=mysql_query($sql)

if(mysql_num_rows($query) != 0)

{

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 67/68 www.qhonline.info

$row=mysql_fetch_array($query)

}

?>

Bài t�p áp d�ng:

Xu"t thông tin ng��i dùng t� c� s% d� li�u % bài t�p trên b'ng PHP.

ID Fname Lname Email Password Sex Phone

1 Nguyen Van Hoa [email protected] 12345 F 0903234532

2 Tran Hoa [email protected] 23456 M 97234512

3 Nguyen Thi Thuy [email protected] 24625 F 98374642

4 Hoang Phi Hong [email protected] 57265 M 94673257

5 Le Van Lam [email protected] 45625 M 93562535

6 Nguyen Cam Nhung [email protected] 52672 F 93525135

7 Hoang Phi Yen [email protected] 63456 F 94754363

IV- T�ng k�t:

, bài này chúng ta �ã làm vi�c v�i sql và các k/ thu�t k�t n�i v�i database c�a PHP. Các

hàm PHP h! tr� mysql hi�n nay có r"t nhi�u. Tuy nhiên v� tính n�ng c�ng nh� ph��ng

th�c s( d&ng thì chúng c�ng gi�ng nhau. Do v�y các b�n không nên lo l ng khi làm vi�c

v�i nh�ng hàm mà chúng ta �ang nghiên c�u.

Giáo trình PHP C�n B�n Gi�ng Viên: Bùi Qu�c Huy

Trang 68/68 www.qhonline.info

Ph�n C: Project Training V�i nh�ng ki�n th�c �ã h�c ���c, b�n hãy áp d&ng � xây d�ng hoàn ch�nh m�t �ng

d&ng web c& th và n�p chúng cho gi�ng viên c�a b�n.

M�t s� project tiêu biu khuy�n khích các h�c viên làm:

�� tài 1: Xây d�ng trang tin t�c �i�n t( v�i các tính n�ng chuyên nghi�p nh� (chuyên

m&c tin, tin t�c,…