Upload
tien-ly-rau-rut
View
13
Download
3
Embed Size (px)
Citation preview
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,…