giáo trình lập trình web căn bản nghề tin học ứng dụng cao đẳng

77 0 0
Tài liệu đã được kiểm tra trùng lặp
giáo trình lập trình web căn bản nghề tin học ứng dụng cao đẳng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mÿc tiêu cÿa môn hác/mô đun: Về ki¿n thức - Phát bißu đ°ợc các khái niám về c¢ bÁn về Internet và dịch vÿ WWW; - Hißu đ°ợc cách thức ho¿t đßng cāa dịch vÿ WWW và giao thức HTTP; - Trình

Trang 1

ĀY BAN NHÂN DÂN THÀNH PHà Hâ CHÍ MINH

TR¯äNG CAO ĐẲNG BÁCH KHOA NAM SÀI GÒN

Tp.Hß Chí Minh, nm 2022

Trang 2

TUYÊN BỐ BÀN QUYÀN

Tài liáu này thußc lo¿i sách giáo trình nên các nguãn thông tin có thß đ°ợc phép dùng nguyên bÁn hoặc trích dùng cho các mÿc đích về đào t¿o và tham khÁo Mọi mÿc đích khác mang tính lách l¿c hoặc sÿ dÿng vái mÿc đích kinh doanh thi¿u lành m¿nh s¿ bị nghiêm c¿m

Trang 3

LäI GIâI THIÞU

Môn học này thußc khái ki¿n thức chuyên môn nghề trong ch°¢ng trình đào t¿o ngành tin học ứng dÿng há cao đẳng LÁp trình web cn bÁn là môn học bắt bußc trong ch°¢ng trình ngành Tin học ứng dÿng trình đß cao đẳng

Nßi dung giáo trình gãm 4 bài: - Bài 1: Tång quan

- Bài 2: Ngôn ngÿ PHP - Bài 3: Bißu m¿u và PHP - Bài 4: MySQL

Trong quá trình biên so¿n chúng tôi đã k¿t hợp kinh nghiám giÁng d¿y trong nhiều nm cāa nhóm tác giÁ vái mong muán có thß giúp cho học sinh – sinh viên dß dàng nắm bắt đ°ợc nßi dung cāa môn học Mặc dù, r¿t cá gắng trong quá trình biên so¿n, nh°ng chắc chắn không thß tránh khßi nhÿng thi¿u sót, vì vÁy, nhóm tác giÁ chúng tôi r¿t mong nhÁn đ°ợc ý ki¿n đóng góp cāa b¿n đọc đß giáo trình ngày mßt hoàn thián h¢n

Tp HCM, ngày 31 tháng 08 nm 2022 Tham gia biên so¿n

1 Chā biên: ThS Lê Thị Thùy Trang 2 &&&&

3 &&&&

Trang 5

Bài tÁp 38

Bài 3: Bißu m¿u và PHP 40

1 Mÿc tiêu: 40

2 Nßi dung bài: 40

2.1 Ph°¢ng thức l¿y và l°u dÿ liáu từ bißu m¿u 40

2.1.3 Các kißu dÿ liáu trong MySQL 55

2.2 Thi¿t k¿ CSDL vái MySQL 58

2.2.1 T¿o CSDL 58

2.2.2 Sao l°u, phÿc hãi CSDL 66

2.3 Thao tác, xÿ lý dÿ liáu vái MySQL 67

2.3.1 Truy v¿n lọc dÿ liáu 67

2.3.2 Truy v¿n thêm, sÿa, xóa, cÁp nhÁt dÿ liáu 72

Trang 6

GIÁO TRÌNH MÔN HàC/MÔ ĐUN

Tên môn hác/mô đun: LÀP TRÌNH WEB C¡ BÀN Mã môn hác/mô đun: MH21

Vß trí, tính chất, ý nghĩa và vai trò cÿa môn hác/mô đun:

- Vị trí: Môn học này thußc khái ki¿n thức chuyên môn nghề trong ch°¢ng trình đào t¿o ngành tin học ứng dÿng há cao đẳng

- Tính ch¿t: LÁp trình web cn bÁn là môn học bắt bußc trong ch°¢ng trình ngành Tin học ứng dÿng trình đß cao đẳng

Mÿc tiêu cÿa môn hác/mô đun:

Về ki¿n thức

- Phát bißu đ°ợc các khái niám về c¢ bÁn về Internet và dịch vÿ WWW; - Hißu đ°ợc cách thức ho¿t đßng cāa dịch vÿ WWW và giao thức HTTP; - Trình bày đúng cú pháp cing nh° công dÿng cāa các câu lánh, c¿u trúc điều khißn, vòng lặp, mÁng trong PHP;

- Phát bißu đ°ợc công dÿng cāa các ph°¢ng thức l¿y dÿ liáu Trình bày đ°ợc các b°ác t¿o CSDL trong MySQL;

- Trình bày đ°ợc cú pháp câu lánh MySQL Về kỹ nng:

- Cài đặt và sÿ dÿng đ°ợc phần mềm Wampp/Xampp;

- Có khÁ nng sÿ dÿng ngôn ngÿ CSS đß t¿o bá cÿc và định d¿ng trang web; - T¿o và dÿng đ°ợc các hàm c¢ bÁn, thông dÿng đß sÿ dÿng trong lÁp trình PHP;

- Sÿ dÿng đ°ợc các ph°¢ng thức đß l¿y dÿ liáu trên bißu m¿u;

- Thi¿t k¿ bißu m¿u k¿t hợp vái các đái t°ợng Session và Cookies đß xÿ lý dÿ liáu;

Trang 7

- T¿o và dÿng đ°ợc các hàm c¢ bÁn, thông dÿng đß sÿ dÿng trong lÁp trình PHP;

- Sÿ dÿng đ°ợc câu lánh SQL đß xÿ lý dÿ liáu theo yêu cầu; - Thi¿t k¿ đ°ợc c¢ så dÿ liáu MySQL sÿ dÿng cho lÁp trình web Về nng lực tự chā và trách nhiám:

- Rèn luyán lòng yêu nghề, t° th¿ tác phong công nghiáp, tính kiên trì, sáng t¿o trong công viác

Nái dung cÿa môn hác/mô đun: BÀI 1 TàNG QUAN

1 Mÿc tiêu:

- Phát bißu đ°ợc các khái niám về c¢ bÁn về Internet và dịch vÿ WWW; - Hißu đ°ợc cách thức ho¿t đßng cāa dịch vÿ WWW và giao thức HTTP; - Cài đặt và sÿ dÿng đ°ợc phần mềm Wampp/Xampp

2 Nái dung bài:

2.1 Các khái nißm c¢ bÁn 2.1.1 Các khái nißm c¢ bÁn

- Máy chā web (web server): máy chā chuyên chia sẻ trang web

- Trình duyát web (web browser): ứng dÿng phía ng°ãi dùng đß k¿t nái vái máy chā web, l¿y thông tin từ máy chā và hißn thị thông tin trên cÿa så trình duyát - M¿ng (network): há tháng trao đåi thông tin cho phép máy khách và máy chā

có thß giao ti¿p vái nhau

- Trang chā (HomePage) cāa mßt website là trang web đ°ợc må ra đầu tiên khi truy cÁp website đó Do đó, địa chỉ truy cÁp cāa mßt website chính là địa chỉ

Trang 8

- Trang web tĩnh (static web page): trang web chỉ thay đåi nßi dung khi có sự tác đßng cāa ng°ãi t¿o ra nó

- Trang web đßng (dynamic web page) là trang web đ°ợc t¿o båi ch°¢ng trình hoặc mã kịch bÁn (script) ch¿y trên máy chā Nßi dung cāa trang web đßng có thß thay đåi mỗi lần đ°ợc yêu cầu

- PHP là <Hypertext Preprocessor=, đ°ợc sÿ dÿng rßng rãi trong lÁp trình web và là ngôn ngÿ lÁp trình mã nguãn må

- File PHP có thß chứa text, HTML, CSS, JavaScript, và code PHP Code PHP đ°ợc thực thi phía máy chā (server) và k¿t quÁ đ°ợc trÁ về phía trình duyát (browser), file PHP có phần đuôi là <.php=

- PHP ch¿y trên đa nền tÁng nh° Windows, Linux, Mac OS X PHP t°¢ng thích vái hầu h¿t các máy chā web đ°ợc sÿ dÿng hián nay nh° Apache, IIS, &PHP hỗ trợ nhiều há quÁn trị c¢ så dÿ liáu nh° MySQL, SQL Server, Postgree,&PHP là mißn phí PHP dß dàng đß tìm hißu và ch¿y hiáu quÁ phía máy chā

2.1.2 Các dßch vÿ cÿa www

Tå chức và khai thác thông tin trên web (WWW - World Wide Web): ng°ãi dùng có thß dß dàng truy cÁp đß xem nßi dung các trang web khi máy tính đ°ợc k¿t nái vái Internet

Tìm ki¿m thông tin trên Internet: dùng Google hoặc danh mÿc thông tin Ng°ãi dùng nhanh chóng tìm đ°ợc đúng thông tin cần thi¿t

Th° đián tÿ (E-mail): đây là dịch vÿ trao đåi thông tin trên Internet thông qua các hßp th° đián tÿ, đ°ợc sÿ dÿng rßng rãi r¿t phå bi¿n, tián lợi, nhanh chóng, vái chi phí th¿p

Hßi thÁo trực tuy¿n: Tå chức các cußc họp, hßi thÁo trực tuy¿n từ xa vái sự tham gia cāa nhiều ng°ãi å nhiều n¢i khác nhau Hình Ánh, âm thanh cāa hßi thÁo và cāa các bên tham gia đ°ợc truyền hình trực ti¿p qua m¿ng và hißn thị trên màn hình hoặc phát trên loa máy tính

Trang 9

Đào t¿o qua m¿ng: ng°ãi học có thß truy cÁp Internet đß nghe các bài giÁng, trao đåi hoặc nhÁn các chỉ d¿n trực ti¿p từ giáo viên , nhÁn các bài tÁp hoặc các tài liáu học tÁp khác và nßp k¿t quÁ qua m¿ng mà không cần tái láp Đào t¿o qua m¿ng cho phép mọi ng°ãi "học mọi lúc, mọi n¢i"

2.1.3 Giao thāc http

HTTP là chÿ vi¿t tắt cāa HyperText Transfer Protocol, là mßt giao thức ứng dÿng đ°ợc sÿ dÿng th°ãng xuyên nh¿t trong bß các giao thức TCP/IP (gãm mßt nhóm các giao thức nền tÁng cho internet) Http ho¿t đßng dựa trên mô hình Client (máy khách) – Server (máy chā)

2.2 Cài đặt và thực thi 2.2.1 Cài đặt phần mÁm

- TÁi WampServer - Cài đặt WampServer

- Kißm tra WampServer

Trang 10

2.2.2 Cấu hình và sử dÿng phần mÁm

Cấu hình PHP:

Nh¿p vào bißu t°ợng WampServer, chuyßn đ¿n menu php và nh¿p vào tùy chọn php.ini Điều này s¿ må file php.ini trong trình so¿n thÁo plain text Điều chỉnh các cài đặt sau:

- Ghi nhÁt ký lỗi PHP - lo¿i bß ; å đầu dòng đß kích ho¿t: - error_log = "c:/wamp/logs/php_error.log" (~ dòng 639)

- Tng dung l°ợng tái đa cāa dÿ liáu POST mà PHP s¿ ch¿p nhÁn - thay đåi giá trị:

- post_max_size = 50M (~ dòng 734)

- Tng dung l°ợng tái đa đ°ợc phép cho các file đ°ợc upload lên - thay đåi giá trị:

- upload_max_filesize = 50M (~ dòng 886) - Nh¿p Save

Cấu hình Apache:

Đß sÿ dÿng permalink tùy chỉnh trong WordPress, b¿n s¿ cần phÁi bÁt rewrite_module cāa Apache Nh¿p vào bißu t°ợng WampServer, chuyßn đ¿n menu Apache  Apache modules, sau đó tìm và nh¿p vào Rewrite_module đß đÁm bÁo nó đ°ợc bÁt WampServer s¿ thay đåi file httpd.conf và tự đßng khåi đßng l¿i Apache

Trang 11

Bài 2: Ngôn ngữ PHP 1 Mÿc tiêu:

- Trình bày đúng cú pháp cing nh° công dÿng cāa các câu lánh, c¿u trúc điều khißn, vòng lặp, mÁng trong PHP;

- T¿o và dÿng đ°ợc các hàm c¢ bÁn, thông dÿng đß sÿ dÿng trong lÁp trình PHP

2 Nái dung bài: 2.1 PHP c¢ bÁn 2.1.1 Đặc điểm

Ngôn ngÿ lÁp trình PHP så hÿu tác đß xÿ lý mọi ho¿t đßng trong công viác khá nhanh chóng, mang đ¿n hiáu quÁ tái °u cao Điều này giúp cho viác truy cÁp website trå nên ån định h¢n, ngay cÁ trong tr°ãng hợp có hàng triáu dùng truy cÁp cùng mßt lúc

Ngoài ra, PHP còn có khÁ nng k¿t nái hàng triáu há quÁn trị c¢ så dÿ liáu khác nhau theo cách hoàn hÁo nh¿t Đây cing chính là y¿u tá khi¿n cho nó luôn đ°ợc °u tiên sÿ dÿng khi thi¿t k¿ web h¢n so vái nhÿng ngôn ngÿ lÁp trình khác

H¢n nÿa, ngôn ngÿ lÁp trình này còn cung c¿p cho ng°ãi dùng mßt há tháng dÿ liáu vô cùng đa d¿ng Lý do PHP så hÿu đ°ợc kho tài liáu phong phú nh° vÁy là båi vì ngay từ khi ra đãi, PHP đã đ°ợc định h°áng sÿ dÿng đß xây dựng và phát trißn nâng cao ứng dÿng web

Bên c¿nh đó, PHP còn cung c¿p các hàm phÿc vÿ cho nhu cầu gÿi và nhÁn mail, cùng nhÿng chức nng cần thi¿t đß làm viác vái cookie

PHP cing đ°ợc cßng đãng đánh giá là ngôn ngÿ đ¢n giÁn, dß sÿ dÿng ngay cÁ vái nhÿng ng°ãi mái bắt đầu b°ác chân vào con đ°ãng lÁp trình

Các ch°¢ng trình vi¿t bằng PHP đều có khÁ nng ch¿y đ°ợc trên mọi nền tÁng há điều hành mà không cần trÁi qua giai đo¿n sÿa đåi mã

Trang 12

Khi sÿ dÿng PHP, b¿n hoàn toàn có thß yên tâm n¿u chẳng may gặp khó khn trong quá trình làm viác, båi ngôn ngÿ lÁp trình này så hÿu mßt cßng đãng hỗ trợ vô cùng m¿nh m¿, luôn sẵn sàng giúp đỡ mọi thành viên

Đặc biát là PHP đ°ợc xây dựng và phát trißn liên tÿc từ nhÿng chuyên gia lÁp trình hàng đầu trên toàn th¿ giái Chính vì vÁy mà ngôn ngÿ này ngày càng từng b°ác trå nên thân thián và hÿu ích h¢n vái ng°ãi dùng

Trang 13

<?php echo "Chào Mừng Các B¿n Đ¿n Vái LÁp Trình PHP"; ?> - B°ác 4: Må trình duyát gõ vào đ°ãng d¿n localhost/hello.php

Ghi chú trong PHP:

PHP hỗ trợ cho chúng ta hai cách đß ghi chú: - Ghi chú cho 1 dòng: // noi dung can ghi chu - Ghi chú cho nhiều dòng: /*noi dung can ghi chu*/

<?php

echo 'Chào Mừng Các B¿n Đ¿n Vái PHP'; // dòng ghi chú /*Hoặc dòng ghi chú*/

?>

2.1.3 Khai báo bi¿n, toán tử, phép toán

Khai báo biến số trong php:

Bi¿n là mßt định danh, nó dùng đß l°u trÿ các giá trị và nó có thß dùng phép gán đß thay đåi giá trị Cú pháp cāa bi¿n bắt đầu bằng d¿u đô la $ và ti¿p theo là các chÿ, sá, d¿u g¿ch d°ái Ký tự đầu tiên cāa tên bi¿n phÁi là chÿ hoặc là d¿u g¿ch d°ái, không đ°ợc là sá

PHP là mßt ngôn ngÿ có phân biát chÿ hoa chÿ th°ãng Ví dÿ: $sinhvien khác $SinhVien

Trang 14

Đß gán giá trị cho bi¿n ta dùng toán tÿ phép gán =

Hiển thị giá trị của biên ra màn hình:

Thay vì xu¿t trực ti¿p chuỗi thì ta xu¿t giá trị cāa bi¿n ra màn hình

Khai báo hằng:

Hằng cing là mßt bi¿n nh°ng b¿n không thß thay đåi giá trị cāa nó Tuy nhiên cách khai báo bi¿n và hằng sá thì l¿i khác nhau

Cú Pháp: define(8ten_hang9, 8gia_tri9); Trong đó:

- define: hàm t¿o bi¿n hằng - ten_hang: là tên bi¿n hằng - gia_tri: giá trị cāa hằng

Biểu thức:

Bißu thức là mßt tå hợp các toán h¿ng và toán tÿ Toán tÿ thực hián các thao tác nh° cßng, trừ, nhân, chia, so sánh, & Toán h¿ng là nhÿng bi¿n hay là nhÿng giá

Trang 15

trị mà các phép toán đ°ợc thực hián trên nó Ví dÿ $a + $b thì $a và $b đ°ợc gọi là toán h¿ng, d¿u + đ°ợc gọi là toán tÿ, cÁ 2 k¿t hợp l¿i thành mßt bißu thức ($a + $b)

Mỗi bißu thức chỉ có mßt giá trị nh¿t định Ví dÿ ta có bißu thức ($a + $b) thì bißu thức này có giá trị là tång cāa $a và $b

Toán tử gán (Assignment Operator):

Đây là toán tÿ thông dÿng nh¿t trong mọi ngôn ngÿ, ta dùng d¿u = đß gán giá trị cho mßt bi¿n b¿t kỳ nào đó

Trang 16

Toán tÿ quan há cing là mßt định nghĩa trong bài toán tÿ và bißu thức trong php, đ°ợc dùng đß kißm tra mái quan há giÿa hai bi¿n hay giÿa mßt bi¿n và mßt hằng sá Ví dÿ kißm tra 2 bi¿n $a và $b xem bi¿n nào lán h¢n ta làm nh° sau: ($a > $b) và k¿t quÁ cāa bißu thức này s¿ trÁ về kißu boolean TRUE hoặc FALSE

L°u Ý: T¿t cÁ các toán tÿ quan há nào có 2 ký tự trå lên đều phÁi ghi liền không đ°ợc có khoÁng trắng Ví dÿ ! = là sai vì có khoÁng trắng giÿa 2 ký tự

Toán Tÿ Quan Há === dùng đß so sánh giá trị giÿa các bi¿n và hằng đúng theo giá trị và kißu dÿ liáu cāa nó, n¿u ta sÿ dÿng 2 d¿u bằng == đß so sánh ($a == $b) thì lúc này $a và $b chỉ so sánh giá trị và trÁ về true n¿u $a bằng $b

GiÁ sÿ $a = 91232 là kißu string, $b = 123 là kißu int thì phép ($a == $b) cho k¿t quÁ là true, còn phép ($a === $b) s¿ cho k¿t quÁ là false vì 2 bi¿n tuy giá trị bằng nhau nh°ng không cùng kißu dÿ liáu

Toán tử luận lý:

Toán tÿ luÁn lý là ký hiáu dùng đß k¿t hợp hay phā định bißu thức có chứa các toán tÿ quan há, nhÿng bißu thức dùng toán tÿ luÁn lý trÁ về giá trị TRUE hoặc FALSE

Trang 17

L°u ý: T¿t cÁ các toán tÿ luÁn lý nào có 2 ký tự trå lên đều phÁi ghi liền không đ°ợc có khoÁng trắng Ví dÿ | | là sai vì có khoÁng trắng giÿa 2 ký tự

K¿t quÁ cāa đo¿n mã trên bi¿n $check s¿ có giá trị là TRUE vì: - ($a > $b) <=> (100 < 200) => TRUE

- ($tong > 200) <=> (300 > 200) => TRUE

- $check = (1) && (2) <=> TRUE && TRUE => TRUE Đß °u tiên toán tÿ luÁn lý: NOT  AND  OR

Đß °u tiên các toán tÿ:

Đß °u tiên các toán tÿ thi¿t lÁp thứ tự °u tiên tính toán cāa mßt bißu thức Tóm l¿i đß °u tiên trong PHP đề cÁp đ¿n thứ tự các phép tính mà PHP s¿ biên dịch tr°ác Các toán tÿ và bißu thức trong php có sự liên há l¿n nhau, toán tÿ k¿t hợp toán h¿ng t¿o thành bißu thức

Trang 18

Nhÿng toán tÿ nằm cùng mßt hàng có cùng đß °u tiên và c¿p đß °u tiên đi từ trên xuáng d°ái Viác tính toán bißu thức sá học s¿ đ°ợc tính toán từ trái qua phÁi và °u tiên trong ngoặc tr°ác k¿t hợp vái đß °u tiên trong bÁng (nh° trong tính toán th°ãng thì nhân chia tr°ác, cßng trừ sau °u tiên trong ngoặc)

2.2 Lựa chán và vòng lặp 2.2.1 Cấu trúc lựa chán

Câu lệnh điều kiện if

Câu lánh if cho phép ta đ°a ra các quy¿t định dựa trên viác kißm tra điều kián nào đó đúng (true) hay sai (false) Cú pháp nh° sau:

Ví dÿ: Ch°¢ng trình kißm tra mßt sá chẵn hay lẻ

VÁn dÿng: Ch°¢ng trình kißm tra có phÁi nm nhuÁn hay không? (Nm nhuÁn là nm chia h¿t cho 4 hoặc 400 nh°ng không chia h¿t cho 100)

Câu lệnh If else trong php

Lánh if dùng đß kißm tra mßt điều kián có đúng hay không? GiÁ sÿ tr°ãng hợp ng°ợc l¿i điều kián không đúng thì s¿ thực hián điều gì ? đß giÁi đáp câu hßi này ta s¿ nghiên cứu đ¿n lánh if else trong php

Trang 19

Câu lệnh if else lồng nhau:

Đây là phần khó nh¿t trong t¿t cÁ các v¿n đề cāa câu lánh if else trong php, å bên trên ta chỉ ch¿y câu lánh if else mßt tầng, å phần này ta s¿ nghiên cứu đ¿n if else nhiều tầng lãng nhau, có nghĩa là câu if con nằm trong câu if cha

Trang 20

Ví dÿ: Kißm tra sô nhÁp vào có phÁi là sá chẵn hay không? N¿u là sá chẵn thì kißm tra ti¿p sá đó có lán h¢n100 hay không, n¿u lán h¢n 100 thì xu¿t ra màn hình <Sá chẵn và lán h¢n 1003, ng°ợc l¿i xu¿t ra màn hình <Sá chẵn và nhß h¢n 1003

Câu lệnh switch trong PHP:

Câu lánh switch trong php cho phép ta đ°a ra quy¿t định có nhiều cách lựa chọn đß giá trị cāa bißu thức truyền vào N¿u giá trị bißu thức truyền vào trùng vái các giá trị bißu thức điều kián thì các câu lánh bên trong bißu thức điều kián s¿ đ°ợc thực hián

Cú pháp:

Trong đó lánh switch, case và default là các từ khóa trong PHP Các chuỗi câu lánh có thß là lánh đ¢n (1 lánh) hoặc lánh ghép (k¿t hợp nhiều lánh) và không cần đặt trong cặp d¿u ngoặc nhọn {} ä mỗi dòng lánh lựa chọn (case) nó s¿ so sánh xem bi¿n truyền vào $variable có bằng vái bi¿n điều kián $value_1, $value_2 hay không,

Trang 21

n¿u trùng vái case nào thì nhÿng câu lánh bên trong case đó s¿ đ°ợc thực hián, đãng thãi dòng lánh break s¿ k¿t thúc câu lánh switch N¿u không có lựa chọn (case) nào đúng thì mặc định nó s¿ ch¿y vào chuỗi dòng lánh trong default, lánh default trong mánh đề rẻ nhánh switch có thß có hoặc không

Giá trị å case chỉ ch¿p nhÁn các kißu dÿ liáu string, INT, boolean, null, foat hoặc là mßt bißu thức có k¿t quÁ trÁ về mßt trong nm lo¿i dÿ liáu đó và toán tÿ quan há so sánh trong switch luôn luôn là ==

Ví dÿ: Vi¿t ch°¢ng nhÁp vào mßt sá, dùng lánh rẻ nhánh switch kißm tra sá nhÁp vào trÁ về giá trị chÿ cāa sá đó (1  Mßt)

VÁn dÿng: NhÁp vào nm b¿t kì, trÁ về k¿t quÁ Can, Chi cāa nm đó

Trang 22

2.2.2 Cấu trúc lặp

Vòng lặp là mßt mã lánh trong đó ch°¢ng trình đ°ợc thực hián lặp đi lặp l¿i nhiều lần cho đ¿n khi thßa mßt điều kián nào đó Vòng lặp là mßt khái niám c¢ bÁn trong lÁp trình c¿u trúc

 $bieu_thuc_dieu_kien: là mßt bißu thức quan há xác định điều kián thoát khßi vòng lặp

 $bieu_thuc_thay_doi_bien_dieu_khien: Xác định bi¿n điều khißn s¿ bị thay đåi nh° th¿ nào sau mỗi lần lặp đ°ợc lặp l¿i (th°ãng là tng hoặc giÁm giá trị cāa bi¿n điều khißn)

Ba bißu thức trên đ°ợc cách nhau båi d¿u ch¿m phẩy, vòng lặp s¿ lặp khi bißu thức điều kián đúng, khi bißu thức điều kián sai thì vòng lặp s¿ dừng và thoát

Trang 23

Vòng lặp while và do while:

Cú pháp:

Trong đó $condition là điều kián đß dừng vòng lặp N¿u $condition có giá trị false thì vòng lặp k¿t thúc, ng°ợc l¿i vòng lặp s¿ ti¿p tÿc lặp Vòng lặp while s¿ lặp vô h¿n n¿u bißu thức điều kián b¿n truyền vào luôn luôn đúng

Ví dÿ: Dùng vòng lặp while trong php liát kê các sá từ 1 tái 10

Vòng lặp do while

Vòng lặp while s¿ kißm tra điều kián tr°ác rãi thực hián câu lánh bên trong vòng lặp, còn vòng lặp do while thì ng°ợc l¿i s¿ thực hián câu lánh bên trong vòng lặp tr°ác rãi mái kißm tra điều kián N¿u điều kián đúng thì s¿ thực hián ti¿p vòng lặp k¿ ti¿p, n¿u điều kián sai thì s¿ dừng vòng lặp Vòng lặp do while trong php luôn luôn thực hián ít nh¿t mßt lần lặp vì nó thực hián tr°ác rãi mái kißm tra điều kián

Cú pháp:

Trang 24

Vòng lặp foreach:

Cú pháp:

Hoặc

Ví dÿ:

Trang 25

 str_word_count($str): trÁ về sá từ trong chuỗi $str

 strtolower($str): chuyßn t¿t cÁ các ký tự chuỗi $str sang chÿ th°ãng  strtoupper($string ): vhuyßn t¿t cÁ các ký tự chuỗi $str sang chÿ hoa  ucfirst( $string ): chuyßn ký tự đầu tiên chuỗi $string sang chÿ hoa

 ucfirst( $string ): chuyßn ký tự đầu tiên trong chuỗi $string sang chÿ th°ãng

Trang 26

 trim($string, $ky_tu): xóa ký tự $ky_tu nằm å đầu và cuái chuỗi $str, n¿u ta không nhÁp $ky_tu thì mặc định nó hißu là xóa khoÁng trắng.ề sá từ trong chuỗi $str

2.4 MÁng

2.4.1 Cú pháp khai báo

MÁng Array là mßt lo¿i bi¿n đặc biát, trong nó giÿ nhiều giá trị Mỗi giá trị trong mÁng đ°ợc gọi là phần tÿ cāa mÁng, các phần tÿ trong mÁng đ°ợc truy xu¿t thông qua tên bi¿n và ký hiáu [index], trong đó index đ°ợc gọi là chỉ sá cāa phần tÿ, chỉ sá này có thß là mßt sá nguyên hay là mßt chuỗi

Đß t¿o mÁng chúng ta sÿ dÿng hàm array() array(

key => value, key2 => value2, key3 => value3,

) Ví dÿ:

<?php

$cars=array("Volvo","BMW","Toyota"); var_dump( $cars );

Trang 27

chỉ mÿc MÁng liên hợp s¿ có chỉ mÿc å d¿ng chuỗi đß mà b¿n có thß thi¿t lÁp mßt liên k¿t m¿nh giÿa key và value

- MÁng đa chiều: Mßt mÁng chứa mßt hoặc nhiều mÁng và các giá trị đ°ợc truy cÁp bằng cách sÿ dÿng nhiều chỉ mÿc có nghĩa là mỗi phần tÿ cing có thß là mßt mÁng Và mỗi phần tÿ trong mßt mÁng phÿ có thß là mßt mÁng, và cứ ti¿p tÿc nh° vÁy Các giá trị trong mÁng đa d¿ng đ°ợc truy cÁp båi sÿ dÿng nhiều chỉ mÿc

K¿t quÁ nh° sau: array(3) {

[0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota" }

Trang 28

array_diff_uassoc() So sánh key và value cāa mÁng, vái mßt hàm kißm tra bå sung do ng°ãi dùng t¿o, và trÁ về

array_diff_ukey() So sánh key cāa mÁng, vái mßt hàm kißm tra bå sung do ng°ãi dùng t¿o, và trÁ về các sự

array_fill_keys() Điền value vào mßt mÁng, chỉ rõ các key 5 array_filter() Lọc các phần tÿ cāa mßt mÁng båi sÿ dÿng

array_map() Gÿi mỗi value cāa mßt mÁng tái mßt hàm do ng°ãi dùng t¿o, mà trÁ về các value mái 4 array_merge() Sáp nhÁp mßt hoặc nhiều mÁng thành mßt

array_merge_recursive() Sáp nhÁp mßt hoặc nhiều mÁng thành mßt mÁng 4

Trang 29

array_multisort() Sắp x¿p các mÁng đa chiều 4 array_pad() Chèn sá l°ợng item đã xác định vái mßt value

array_product() Tính toán tích các value trong mßt mÁng 5 array_push() Chèn mßt hoặc nhiều phần tÿ vào phần cuái

ng°ãi dùng t¿o, và trÁ về mßt mÁng 5

Trang 30

array_uintersect_assoc() So sánh các key cāa mÁng, và so sánh các value cāa mÁng trong mßt hàm do ng°ãi dùng

array_uintersect_uassoc() So sánh các value cāa mÁng trong mßt hàm do ng°ãi dùng t¿o, và trÁ về mßt mÁng 5 array_unique() Gỡ bß bÁn sao các value từ mßt mÁng 4 array_unshift() Thêm mßt hoặc nhiều phần tÿ tái phần đầu

array_values() TrÁ về t¿t cÁ value cāa mßt mÁng 4 array_walk() Áp dÿng mßt hàm do ng°ãi dùng t¿o tái mỗi

array_walk_recursive() Áp dÿng mßt hàm mßt cách đá qui do ng°ãi

dùng t¿o tái mỗi thành viên cāa mßt mÁng 5 arsort() Sắp x¿p mßt mÁng vái thứ tự đÁo ng°ợc và

asort() Sắp x¿p mßt mÁng và duy trì liên k¿t chỉ mÿc 3 compact() T¿o mßt mÁng chứa các bi¿n và các value cāa

count() Đ¿m các phần tÿ trong mßt mÁng, hoặc các

thußc tính trong mßt đái t°ợng 3 current() TrÁ về phần tÿ hián t¿i trong mßt mÁng 3 each() TrÁ về cặp key và value hián t¿i từ mßt mÁng 3 end() Thi¿t lÁp con trß nßi bß cāa mßt mÁng tái phần

krsort() Sắp x¿p mßt mÁng bằng các key theo thứ tự

Trang 31

ksort() Sắp x¿p mßt mÁng bằng các key 3

natcasesort() Sắp x¿p mßt mÁng båi sÿ dÿng mßt thuÁt toán "natural order" không phân biát kißu chÿ 4 natsort() Sắp x¿p mßt mÁng båi sÿ dÿng mßt thuÁt toán

next() Tng con trß mÁng nßi bß hay trß tái phần tÿ

prev() GiÁm con trß mÁng nßi bß hay trß tái phần tÿ

reset() Thi¿t lÁp con trß nßi bß cāa mÁng về phần tÿ

uasort() Sắp x¿p mßt mÁng vái mßt hàm do ng°ãi

dùng t¿o và duy trì liên k¿t chỉ mÿc 3 uksort() Sắp x¿p mßt mÁng bằng các key båi sÿ dÿng

usort() Sắp x¿p mßt mÁng bằng các value båi sÿ dÿng

2.5 Hàm 2.5.1 Khai báo

Cách sử dụng hàm trong PHP:

Trang 32

Hàm trong PHP dùng đß thực hián mßt khái lánh liên ti¿p có đißm đầu và đißm cuái Mßt hàm đ°ợc xác định thực hián mßt công viác cÿ thß nào đó, giÁ sÿ tôi vi¿t mßt hàm kißm tra sá chẵn hay sá lẻ thì mÿc đích cāa hàm đó là kißm tra mßt sá là sá chẵn hay lẻ Điều đặc biát hàm có thß gọi å nhiều n¢i, nhiều ch°¢ng trình khác nhau GiÁ sÿ b¿n cần vi¿t mßt ch°¢ng trình cho ng°ãi dùng đng nhÁp vào há tháng và b¿n s¿ sÿ dÿng nó å hai ứng dÿng backend và frontend Nh°ng sau mßt thãi gian b¿n muán sÿa l¿i mßt sá thông tin lúc kißm tra thì b¿n s¿ phÁi vào hai ch°¢ng trình đó và sÿa l¿i, điều này thÁt tá h¿i vì ch°¢ng trình s¿ bị d° thừa, khó quÁn lý và bÁo trì Nh°ng n¿u b¿n sÿ dÿng hàm thì chỉ cần sÿa trong hàm đó là đ°ợc

Cú pháp tổng quát khai báo hàm trong php:

Trong đó:

func_name là tên cāa hàm, $vars là các bi¿n s¿ truyền vào trong hàm, return $val là hàm s¿ trÁ về giá trị $val N¿u hàm không có trÁ về giá trị nào thì ta không có dòng return này

Ví dÿ:

Trang 33

2.5.2 Sử dÿng hàm

Truyền nhiều biến vào hàm trong php:

Các bi¿n truyền vào hàm trong php có thß là các kißu b¿t kỳ (tham khÁo trong bài các kißu dÿ liáu trong php) Và sá bi¿n truyền vào là không giái h¿n, nh° ví dÿ trên thì chỉ có 1 bi¿n truyền vào là $number, nh°ng thực t¿ b¿n có thß truyền nhiều bi¿n vào bằng cách mỗi bi¿n cách nhau båi d¿u phẩy

Ví dÿ:

Hàm này s¿ tính tång cāa 2 bi¿n truyền vào, các bi¿n cách nhau båi d¿u phẩy Nh° vÁy trong ch°¢ng trình chính s¿ làm nh° sau:

Trang 34

Gán giá trị mặc định cho biến truyền vào:

N¿u mßt hàm trong php b¿n khai báo có 2 bi¿n truyền vào mà lúc sÿ dÿng b¿n chỉ truyền có 1 bi¿n vào thì há tháng s¿ báo lỗi ngay Trong thực t¿ có nhÿng hàm không ràng bußc phÁi bắt bußc truyền đā bi¿n vào, vì th¿ nó cing c¿p cho chúng ta mßt chức nng là truyền giá trị mặc định cho bi¿n trong các hàm

Tham số thực và tham số hình thức:

Các bi¿n ta định nghĩa trong hàm gọi là tham sá hình thức, còn bi¿n mà ta truyền vào å ch°¢ng trình chính gọi là tham sá thực

Trang 35

Tham sá $number trong hàm kiem_tra_so_nguyen_to gọi là tham sá hình thức, bi¿n $so trong ch°¢ng trình chính gọi là tham sá thực

Biến toàn cục và biến cục bộ:

Bi¿n toàn cÿc chính là các bi¿n ta khai báo å ch°¢ng trình chính, còn bi¿n cÿc bß là bi¿n ta khai báo å các hàm

Ví dÿ:

Trang 36

Bi¿n tĩnh là các bi¿n cá định bên trong các hàm, không giáng nh° các bi¿n toàn cÿc chúng không đ°ợc bi¿t đ¿n bên ngoài hàm tức là chỉ bi¿t đ¿n bên trong hàm nh°ng giá trị cāa chúng s¿ l°u l¿i sau mỗi lần gọi hàm Đß khai báo là mßt bi¿n tĩnh ta dùng từ khóa static $tenbien;

Ví dÿ:

Ch¿y đo¿n code này màn hình s¿ xu¿t hián giá trị 1 và 2 båi vì lần gọi hàm thứ nh¿t bi¿n $a đ°ợc tng lên 1 và xu¿t ra màn hình 1 Vì $a là bi¿n tĩnh nên nó đ°ợc l°u l¿i trong vùng nhá Qua lần gọi hàm thứ 2 bi¿n $a đ°ợc tng lên 1 nÿa là 2 nên xu¿t ra màn hình là 2, và đ°¢ng nhiên giá trị 2 đ°ợc l°u l¿i trong vùng nhá cho các lần gọi ti¿p theo

Các cách gọi hàm trong PHP

Truyền bằng giá trị:

Mặc định t¿t cÁ các đái sá truyền vào hàm đều là truyền bằng giá trị Điều này có nghĩa là khi các đái sá đ°ợc truyền đ¿n hàm đ°ợc gọi, giá trị đ°ợc truyền thông qua các bi¿n t¿m (tham sá hình thức) mọi thao tác chỉ thực hián trên bi¿n t¿m này nên nó không hề tác đßng đ¿n bi¿n chính cāa mình Điều này có nghĩa là n¿u truyền bằng giá trị thì trong hàm n¿u ta tác đßng đ¿n giá trị bi¿n truyền vào thì sau khi thoát khßi hàm giá trị đó không thay đåi

Ví dÿ:

Trang 37

K¿t quÁ xu¿t ra màn hình s¿ là 2 và 1 Nh° th¿ bi¿n $a v¿n giÿ nguyên giá trị bằng 1 sau khi hàm k¿t thúc Còn trong hàm thì bi¿n $a có giá trị là 2

Truyền bằng tham chi¿u:

Khi các đái sá đ°ợc truyền bằng giá trị thì giá trị cāa các đái sá cāa hàm đang gọi không bị thay đåi Tuy nhiên đôi khi b¿n muán nhÿng giá trị đó thay đåi theo thì lúc này b¿n phÁi truyền bi¿n vào hàm d¿ng tham chi¿u

Ví dÿ:

Trang 38

Bài tÁp

Sÿ dÿng ngôn ngÿ PHP thực hián:

Bài 1: Tính chu vi, dián tích hình cÿ nhÁt

Bài 2: K¿t hợp php và html, css đß thực hián

Ngày đăng: 02/06/2024, 11:50

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan