LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo
trong trường Đại học Công Nghệ Thông Tin & Truyền Thông nói chung và các
thầy cô giáo trong khoa Công Nghệ Thông Tin, bộ môn Kỹ Thuật Phần Mềm nói
riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý
báu trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến cô Dương Thị Quy, cô đã tận tình giúp
đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.
Trong thời gian làm việc với cô, em không ngừng tiếp thu thêm nhiều kiến thức bổ
ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm
túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và
công tác sau này.
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng
góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đồ án tốt
nghiệp.
Thái Nguyên, ngày…tháng…năm 2016
Người viết
Trần Xuân Quý
1
2
LỜI CAM ĐOAN
Tôi tên: TRẦN XUÂN QUÝ, là sinh viên Đại học Chính Quy- Trường Đại
Học Công Nghệ Thông Tin & Truyền Thông.
Tôi cam đoan các kết quả nghiên cứu đồ án “Xây dựng website bán hàng
cho cửa hàng thời trang Bảo Bình Shop bằng mô hình MVC” này dựa trên các
kết quả thu được trong quá trình nghiên cứu của riêng tôi, không sao chép bất kỳ
kết quả nghiên cứu nào của các tác giả khác. Nội dung của đồ án có tham khảo và
sử dụng một số thông tin, tài liệu từ bài giảng các môn học của Quý thầy cô,
nghiên cứu trên Internet, sách báo và các tài liệu trong và ngoài nước có liên quan,
được liệt kê trong danh mục các tài liệu tham khảo.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước Quý
thầy Cô và nhà trường.
Thái Nguyên, ngày…tháng…năm 2016
Người cam đoan
Trần Xuân Quý
3
4
MỤC LỤC
LỜI CẢM ƠN
1
LỜI CAM ĐOAN 2
MỤC LỤC 3
LỜI NÓI ĐẦU
5
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
6
1.1 HTML (HyperText Markup Language)
6
1.2 CSS (Cascading Style Sheets) 7
1.2.1 Tại sao phải sử dụng CSS
7
1.2.2 Cách chèn CSS vào trang HTML
8
1.2.3 Một số thuộc tính thường dùng trong css 9
1.3 PHP (Hypertext Preprocessor) 12
1.3.1 Giới thiệu về PHP
12
1.3.2 Tại sao nên sử dụng PHP
13
1.3.3 Một số thuộc tính thường dùng trong PHP 13
1.4 Tìm hiểu về Mysql
21
1.4.1 Giới thiệu về Mysql 21
1.4.2 Một số câu lệnh truy vấn cơ sở dữ liệu
21
1.5 Tìm hiều về phân tích thiết kế hệ thống hướng đối tượng và mô hình hóa hệ thống
23
1.5.1 Giới thiệu về UML
23
1.5.2 Các thành phần của ngôn ngữ UML23
1.5.3 Biểu đồ (diagram)
24
1.5.4 Các mối quan hệ
27
CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 29
2.1 Khảo sát hệ thống
29
2.1.1 Khảo sát hiện trạng
29
2.1.2 Phân tích yêu cầu bài toán
31
5
2.2 Phân tích thiết kế hệ thống
2.2.1 Biểu đồ Use Case
33
2.2.2 Kịch bản cho Use Case
2.2.3 Biểu đồ lớp
33
36
56
2.2.4 Bảng dữ liệu 57
CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH
3.1 Trang chủ
58
58
3.2 Tìm kiếm 59
3.3 Giỏ hàng 59
3.4 Đặt hàng 60
3.5 Liên hệ
61
3.6
Trang
quản
trị
…………………………………………………………...61
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO
64
6
Admin
LỜI NÓI ĐẦU
Với sự phát triển mạnh mẽ của công nghệ thông tin và sự lớn mạnh,
rộngkhắp của mạng máy tính toàn cầu. Việc ứng dụng tin học vào các lĩnh vực của
cuộcsống ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn về
mọimặt. Sự lớn mạnh của mạng máy tính đã xóa bỏ mọi gianh giới về không gian
và thờigian để đem con người và tri thức xích lại gần nhau hơn. Thông qua mạng
máy tính,con người có thể được tiếp xúc với mọi loại tri thức như tri thức văn hóa,
xã hội,khoa học kỹ thuật.Do vậy ngày càng có nhiều ứng dụng được viết để hỗ trợ
côngviệc thủ công của con người, đặc biệt là các ứng dụng quản lý như quản lý
nhân sự,quản lý hàng hóa, quản lý điểm. Trước kia khi mạng Internet còn chưa
phổ biến thìcác ứng dụng thường được viết trên máy Desktop, ngày nay Internet
không còn xalạ với bất cứ ai do vậy các ứng dụng cũng có xu thế phát triển dần
trên nền Web.Trong đề tài “Xây dựng website bán hàng cho cửa hàng thời trang
Bảo Bình Shop bằng mô hình MVC” này tôi xin trình bày về một ngôn ngữlập
trình web hiện đang được sử dụng phổ biến đó là ngôn ngữ PHP. Trong quátrình
phân tích và cài đặt ứng dụng không thể không tránh khỏi những thiếu sót,
rấtmong sự giúp đỡ tận tình của các thầy cô trong Bộ môn và bạn bè đồng nghiệp.
7
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 HTML (HyperText Markup Language)
HyperText Markup Language (HTML) là hàng loạt các đoạn mã chuẩn
vớicác quy ước được thiết kế để tạo ra trang web, giúp tạo và chia sẻ các tài liệu
điệntử tích hợp đa phương tiện qua Internet và được hiển thị bởi những trình duyệt
Web.HTML là nền tảng của World Wide Web, một dịch vụ toàn cầu của Internet.
Weblà dịch vụ mang tính đồ hoạ cao trong các dịch vụ Internet, cho phép người
dùng cóthể tự tạo cho riêng họ những trang Web. HTML cho phép áp dụng siêu
liên kết chotài liệu và trình bày tài liệu với phông chữ, hình ảnh, kiểu gióng hàng
phù hợp vớihệ thống hiển thị văn bản.
HTML không phải ngôn ngữ lập trình. Thay vào đó, tạo các trang Web
thường nói đến như là “authoring” (sáng tác) và đơn giản hơn nhiều so với việc tạo
ra các ứng dụng trên máy tính.Có nhiều trình soạn thảo HTML và Web khác nhau
như: NotePad, InternetExplorer, Microsoft FrontPage hay Netscape Navigator có
công cụ soạn thảo đơngiản cho phép tạo và hiệu chỉnh tập tin HTML.
Cấu trúc của HTML rất đơn giản và logic, với bố cục từ trên xuống dưới, từ
trái qua phải, với 2 phần chính là HEAD và BODY. Các website viết bằng HTML
đều tuân theo cấu trúc cơ bản như sau:
+ Mọi trang HTML đều phải khai báo DOCTYPE (định nghĩa chuẩn văn
bản) ngay từ dòng đầu tiên.
+ Thẻ <html> cho trình duyệt biết mở đầu và kết thúc của trang HTML.
+ Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác.
+ Thẻ <body> sẽ hiển thị nội dung của trang web. Đây là phần thông tin mà
người dùng sẽ nhìn thấy khi trình duyệt đọc các mã HTML.
+ Mọi kí tự nằm giữa dấu <!– và –> sẽ được xem là thẻ comment và sẽ bị
trình duyệt bỏ qua, không xử lý và không hiển thị.
8
Ví dụ:
<html>
<head>
<title>Đây là thẻ đánh dấu tiêu đề trang web</title>
<!-- Comment: Các thông tin khai báo, các thông tin ẩn -->
</head>
<body>
<!-- Comment: Nội dung trang web mà người dùng sẽ thấy -->
<b>Đây là dòng chữ in đậm</b>
<i>Đây là dòng chữ in nghiêng</i>
</body>
</html>
1.2 CSS (Cascading Style Sheets)
CSS là viết tắt của cụm từ "Cascading Style Sheet", nó là một ngôn ngữ quy
định cách trình bày của các thẻ html trên trang web. Là ngôn ngữ đang được sử
dụng rất nhiều trong lập trình web, có thể nói CSS ra đời đã tạo nên một cuộc cách
mạng. Đôi khi các bạn sẽ bối rối khi nhận thấy rằng các đoạn code mình viết hiển
thị không giống nhau trên các trình duyệt khác nhau, CSS sẽ giúp các bạn giải
quyết bài toán này.CSS quy định cách hiển thị nội dung của các thẻ HTML trên
các trình duyệt gần như giống nhau,bằng cách quy định các thuộc tính cho thẻ
HTML đó.
1.2.1 Tại sao phải sử dụng CSS
- Như các bạn biết. HTML cũng hỗ trợ một số thuộc tính định dạng cơ bản
cho text, picture, table,… nhưng nó không thật sự phong phú và chính xác như
nhau trên mọi hệ thống. CSS cung cấp cho bạn hàng trăm thuộc tính trình bày dành
cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại
hiệu quả. Ngoài ra, hiện tại CSS đã được hỗ trợ bởi tất cả các trình duyệt, nên bạn
hoàn toàn có thể tự tin trang web của mình có thể hiển thị hầu như (như nhau) dù
9
trên một hệ thống sử dụng Windows, Linux hay trên một máy Mac miễn là bạn
đang sử dụng một phiên bản trình duyệt mới nhất.
- Sử dụng các mã định dạng trực tiếp trong HTML tốn hao nhiều thời gian
thiết kế cũng như dung lượng lưu trữ trên đĩa cứng. Trong khi đó CSS đưa ra
phương thức “ngoại tuyến” giúp áp dụng một khuôn mẫu chuẩn từ một file CSS ở
ngoài. Nó thật sự có hiệu quả đồng bộ khi bạn tạo một website có hàng trăm trang
hay cả khi bạn muốn thay đổi một thuộc tính trình bày nào đó.
- Hãy thử tưởng tượng bạn có một website với hàng trăm trang và bạn muốn
thay đổi font chữ hay màu chữ cho một thành phần nào đó. Đó thật sự sẽ là một
công việc buồn chán và tốn nhiều thời gian. Nhưng với việc sử dụng CSS việc đó
là hoàn toàn đơn giản cũng như là bạn có một trò ma thuật nào đó.
- Ngoài ra, CSS còn cho phép bạn áp đặt những kiểu trình bày thích hợp hơn
cho các phương tiện khác nhau như màn hình máy tính, máy in, điện thoại,…
1.2.2 Cách chèn CSS vào trang HTML
Cách 1: Chèn nội dung CSS vào trong cặp thẻ <style></style> trong phần
<head></head> của trang web:
Ví dụ:
<html>
<head>
<title>Chen CSS-Cách 1</title>
<style type="text/css">
//Nội dung CSS đặt bên trong đây
</style>
</head>
<body>
</body>
</html>
Cách 2: Chèn trực tiếp vào bên trong thẻ HTML
10
- Chèn trực tiếp CSS vào bên trong các thẻ mở của HTML.
- Nếu có nhiều thuộc tính cần quy định, ta ngăn cách giữa chúng bằng
khoảng trắng.
Ví dụ: Ở đây ta chèn CSS vào thẻ mở của cặp thẻ
.
<html>
<head>
<title>Chen CSS-Cách 2</title>
</head>
<body>
</body>
</html>
11
Cách 3: Liên kết với một file *.css bên ngoài
- Đây là cách được dùng nhiều nhất trong sử dụng CSS vì tính tiện dụng và
linh hoạt của nó. Giả sử, bạn có một website gồm hàng trăm trang, khi bạn muốn
thay đổi một chút cách trình này của website, thay vì gạch cạch đi gõ từng trang
một, bạn chỉ cần sửa file CSS bên ngoài một chút, hàng trăm trang web của bạn
đều được thay đổi.
- Cú pháp: Thực hiện liên kết bằng thẻ <link>( Không có tag đóng ), theo
cú pháp sau:
<link rel="stylesheet" href="Đường dẫn đên file .css" type="text/css" />
Tag này được đặt trong cặp tag <head></head> của trang web, và không
cần đặt trong tag <style></style>
- Nếu bạn đặt file *.css cùng thư mục với trang web, thì trong thuộc tính
href bạn chỉ cần viết: href="
- Nếu file *.css không cùng thư mục với trang web: Bạn cần chỉ trong
đường dẫn tuyệt đối tới file *.css đó trong thuộc tính href
Ví dụ:
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
</body>
</html>
1.2.3 Một số thuộc tính thường dùng trong css
Thuộc tính
background
Ví dụ
Mô tả
background:
Định dạng nền (background) cho thành
#ff0000;
phần.
12
border
border: 1px solid
#ff0000;
Định dạng đường viền cho thành phần.
border-
border-collapse:
Thuộc tính border-collapse xác định đường
collapse
collapse;
viền củatable có tách biệt ra hay không.
border-
border-spacing:
Xác định khoảng cách giữa các đường viền
spacing
10px;
của các cột lân cận.
bottom
bottom: 10px;
caption-side
clear
clip
Xác định vị trí dưới cùng của thành phần
được định vị trí.
caption-side:
Xác định vị trí một chú thích của table.
bottom;
Xác định 2 bên của phần tử (left, right), nơi
clear: both;
clip:
mà phần tử float không được cho phép.
rect
Xác định đoạn cho thành phần khi sử dụng
(0,0,50px,10px);
thuộc tính position có giá trị "absolute".
color
color: #ff0000;
Xác định màu sắc cho text.
content
content: "."
counter-
counter-increment:
Gia tăng một hoặc nhiều counter (sắp xếp có
increment
section;
thứ tự, có hiển thị số)
counter-reset
Sử dụng kèm với bộ chọn ":before", ":after"
để chèn nội dung được tạo.
counter-reset:
Tạo hoặc reset một hoặc nhiều counter.
subsection;
cursor
cursor: pointer;
Xác định kiểu con trỏ chuột được hiển thị.
direction
direction: ltr;
Xác định hướng cho văn bản.
display
display: inline;
Xác định loại hiển thị của thành phần.
empty-cells
empty-cells: hide;
float
float: left;
Xác định có hay không có đường viền và
nền trong một cột rỗng của table
Xác định có hay không một thành phần
được float.
13
font
font:
12px
Thiết lập font cho thành phần, bao gồm font
arial,sans-serif;
chữ, độ rộng,...
height
height: 50px;
Thiết lập chiều cao của thành phần.
left
left: 10px;
letter-spacing
letter-spacing: 2px;
line-height
line-height: 1.5;
Thiết lập chiều cao giữa các dòng.
list-style
list-style: decimal;
Thiết lập kiểu cho một danh sách.
margin
margin: 15px;
Canh lề cho thành phần.
max-height
max-height: 200px;
Thiết lập chiều cao tối đa của thành phần.
max-width
max-width: 900px;
Thiết lập chiều rộng tối đa của thành phần.
min-height
min-height: 100px;
Thiết lập chiều cao tối thiểu của thành phần.
min-width
min-width: 600px;
outline
outline: dotted;
overflow
overflow: scroll;
padding
padding: 15px;
page-break-
page-break-after:
Xác định các phân chia văn bản ngay sau
after
alway;
thành phần.
page-break-
page-break-before:
Xác định các phân chia văn bản ngay trước
before
alway;
thành phần.
page-break-
page-break-inside:
Xác định các phân chia văn bản ngay bên
inside
alway;
trong thành phần.
position
position: absolute;
Xác định vị trí bên trái của thành phần định
vị trí (như position)
Tăng hoặc giảm khoảng cách giữa các ký tự
trong đoạn text.
Thiết lập chiều rộng tối thiểu của thành
phần.
Định dạng các đường viền bao ngoài
Xác định điều gì sẽ xảy ra nếu một thành
phần box tràn nội dung.
Thiết lập các thuộc tính padding trong một
khai báo.
Xác định loại của phương pháp định vị trí
cho thành phần.
14
quotes
"‘" "’"
right
right: 10px;
table-layout
table-layout: fixed;
text-align
text-align: center;
text-
text-decoration:
decoration
underline;
text-indent
text-indent: 10px;
text-transform
top
vertical-align
visibility
Thiết lập các loại dấu ngoặc bao ngoài khi
nhúng một trích dẫn.
Xác định vị trí bên phải của thành phần định
vị trí (như position)
Thiết lập các thuật toán layout được sử dụng
cho table.
Sắp xếp các nội dung theo chiều ngang.
Xác định các trang trí thêm cho text.
Ghi rõ thụt đầu dòng của dòng đầu tiên
trong một khối văn bản.
text-transform:
Thiết lập các ký tự viết hoa cho văn bản.
uppercase;
Xác định vị trí bên trên của thành phần định
top: 10px;
vị trí (như position)
vertical-align:
Sắp xếp các nội dung theo chiều dọc.
middle;
Xác định thành phần có được nhìn thấy hay
visibility: visible;
không.
white-space:
Xác định khoảng trắng có bên trong thành
nowrap;
phần được xử lý như thế nào.
width
width: 800px;
Thiết lập chiều rộng cho thành phần.
word-spacing
word-spacing: 5px;
z-index
z-index: 100;
white-space
Tăng hoặc giảm không gian giữa các từ
trong đoạn văn bản.
Thiết lập thứ tự xếp chồng nhau của một
thành phần vị trí.
1.3 PHP (Hypertext Preprocessor)
15
1.3.1 Giới thiệu về PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một
loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã
nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ
dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành
một ngôn ngữ lập trình web phổ biến nhất thế giới.
1.3.2 Tại sao nên sử dụng PHP
- PHP được sử dụng rộng rãi, miễn phí, cấu hình nhanh chóng, nhỏ gọn.
- PHP có khả năng đạt hiệu suất cao trong làm việc.
- PHP có tính khả chuyển, một ứng dụng dù được phát triển trên Windows
vẫn có thể chạy bình thường trên UNIX mà không gặp bất kỳ vấn đề nào đáng kể.
- PHP dễ sử dụng. Như một câu nói nổi tiếng: Simple Is The Best!!
- PHP là một dự án mã nguồn mở. Ngôn ngữ này được phát triển bởi một
đội ngữ những người tình nguyện trên toàn cầu.
1.3.3 Một số thuộc tính thường dùng trong PHP
a.Biến, hằng số, kiểu dữ liệu trong PHP
Kiểu dữ liệu
- Các kiểu 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 thao tác trong một script.
Trong ngôn ngữ lập trình PHP chúng ta có 6 kiểu dữ liệu chính như sau:
Kiểu Dữ Liệu
Ví dụ
Mô tả
Integer
5
Là Kiể số nguyên
Double
7.343
Kiểu số thực
String
How are you?
Một tập hợp các ký tự
Boolean
True of False
Giá trị true hoặc false
Object
Kiểu hướng đối tượng trong PHP
16
Array
Kiểu mảng trong PHP
Hằng số
Hằng là những giá trị không đổi. Chúng ta thường dùng hằng để lưu các giá
trị không đổi trong suốt chương trình.
Khai báo hằng: Ta dùng define() để khai báo hằng.
Ví dụ: define(“version”,4);
Hàm define(): dùng để kiểm tra xem một hằng nào đó đã được khai báo
chưa.
Biến và giá trị logic
PHP không có khái niệm TRUE hoặc FALSE. Các giá trị TRUE được hiểu
là những giá trị bằng 1, và giá trị FALSE là những giá trị bằng 0 hoặc xâu rỗng.
Khi sử dụng biến chúng ta không cần khai báo kiểu.
Nếu như thực hiện phép toán có kiểu số và kiểu string. PHP sẽ coi chuỗi là
một dãy như sau:
$str =”222 B Baker Street”;
Ta thấy biến $str có kiểu string, và nếu cộng số 3 với giá trị này thì:
$x = 3 + $str; // $x = 225
Khi đó $x nhận được giá trị 225 vì PHP đã cộng 3 với 3 số đầu. Nhưng nếu ta in
giá trị của $str thì:
Echo $str;// print:”222 B Baker Street
b.Các toán tử
Toán tử số học
Tên
Ký hiệu
Mô tả
Ví dụ
Phép cộng
+
Cộng hai số hạng
$a + $b
Phép trừ
-
Trừ hai số hạng
$a - $b
17
Phép nhân
*
Nhân hai số hạng
$a * b
Phép chia
/
Chia hai số hạng
$a / $b
Phép chia lấy dư
%
Chi lấy dư
5%2=1
Phép gán
Ví dụ: $x = 1;
$y = $x + 1;
Toán tử so sánh
Tên
Ký hiệu
So sánh bằng
==
So sánh khác
!=
So sánh lớn hơn
>
Mô tả
Hai số hạng bằng
nhau
Hai số hạng khác
nhau
So sánh lớn hơn
18
Ví dụ
$a == $b
$a != $b
$a > b
So sánh nhỏ hơn
<
So sánh nhỏ hơn
$a < $b
Lớn hơn hoặc bằng >=
Lớn hơn hoặc bằng
$a >= $b
Nhỏ hơn hoặc bằng <=
Nhỏ hơn hoặc bằng $a <= $b
Toán tử logic
Tên
Phép và
Ký hiệu
&&
Mô tả
Ví dụ
hoặc Cả 2 vế phải thoả mãn $a > $b && $a >
and
Phép hoặc
|| hoặc or
Phủ định
!
điều kiện
Một trong 2 thoả mãn
điều kiện là được
Phủ định 1 điều kiện,
giá trị nào đó
$c
$a > $b || $a < $c
$a != b
Các phép toán với biến kiểu string
Ta sử dụng dấu “.” để ghép 2 biến kiểu string với nhau.
Để có thể chèn một biến vào trong toán hạng có kiểu string thì tên biến phải
để trong dấu đóng mở ngoặc nhọn.
Echo (“${last} ‘bycycles”);
c.Các câu lệnh điều khiển
Lệnh If_else: đây là lệnh rẽ nhánh có điều kiện
Dạng 1:
If (biểu thức) câu lệnh;
Câu lệnh ở đây tương đương với một khối lệnh. Một khối lệnh được đặt
trong dấu ngoặc kép.
Dạng 2:
If (biểu thức)
câu lệnh 1;
else
câu lệnh 2;
19
Câu lệnh switch: là câu lênh rẽ nhánh có điều kiện trong đó thực hiện 1 trong n
cái rẽ nhánh.
Switch(biểu thức n)
{
Case n1;
Câu lệnh 1;
Break;
...
Case nn;
Câu lệnh nn;
[defaulf: câu lệnh]
}
Câu lệnh FOR: là lệnh tạo chu kì có điều kiện.
Dạng lệnh: for(bt1;bt2;bt3)
{
Câu lệnh;
}
Câu lệnh WHILE: là một lệnh tạo chu trình có điều kiện, điều kiện được kiểm tra
ở đầu chu trình.
While (biểu thức)
Câu lệnh;
Lênh DO ... WHILE: là một lệnh tạo chu trình có điều kiện, trong đó điều kiện
thực hiện chu trình được kiểm tra cở cuối chu trình.
Dạng lệnh:
Do {
Câu lệnh;
} While(biểu thức);
Lệnh Break: là lênh rẽ nhánh không điều kiện và thường dùng để ra khỏi thân của
20
switch, while, do ... while, for. Lệnh break chỉ cho phép thoát khỏi thân các lệnh
bên trong nhất chứa nó.
Continue: là lệnh rẽ nhánh không điều kiện, lệnh thường dùng để bắt đầu lại một
chu trình mới trong các lệnh for, while, do ... while mà không cần thực hiện toàn
bộ thân của lệnh tạo chu trình.
d.Hàm trong PHP
Quy tắc xây dựng hàm
Function tên_ham(danh sách đối số hình thức){
Thân hàm
}
Định nghĩa hàm không nhất thiết phải nằm ngoài thân mọi hàm, trong hàm
có thể có hàm khác. Nhưng việc sử dụng một hàm không khác nhau giữa
xây dựng hàm trong thân một hàm và ngoài một hàm.
Tên hàm tùy đặt và khác tên hàm chuẩn.
Hàm có thể có giá trị trả về hoặc không.
Các câu lệnh được quyền gọi bất kì hàm nào đã được khai báo và đã được
định nghĩa.
Return:
+ Trả một giá trị về cho nơi gọi hàm.
+ Là nơi báo kết thúc hàm.
Gọi hàm
+ Hàm phải được xây dựng trước khi gọi.
+ Khi gọi hàm, nếu có giá trị trả về thường được đặt trong biểu thức.
Biến toàn cục và biến cục bộ
Thông thường PHP coi các biến được sử dụng trong thân của hàm là biến cục
bộ. Nghĩa là biến trong thân hàm không làm thay đổi giá trị của biến ở ngoài hàm đó.
Muốn làm thay đổi giá trị của biến ta cần khai báo global trước biến đó trong thân
hàm.
21
22
e.Biến mảng trong PHP
Mảng một chiều
Mảng là một biến bao gồm nhiều phần tử có cùng tên nhưng khác nhau về
chỉ số (các chỉ số này tăng dần từ 0 đến n). Các phần tử của mảng không nhất thiết
phải cùng kiểu.
+ Khai báo mảng 1 chiều:
Ta có thể khai báo mảng bằng cách gán tên mảng với dấu đóng mở ngoặc
vuông không có chỉ số
Ví dụ: $mang[] = “ab”;
$mang[] = “ef”;
Ví dụ trên tạo ra một mảng gồm 2 phần tử có chỉ số là 0 và 1. Việc đó cũng tương
tự như gán:
$mang[0] = “ab”;
$mang[1] = “ef”;
Ngoài ra các chỉ số của mảng không nhất thiết phải tăng dần mà có thể được khai
báo như sau:
$mang[50] = “ab”;
$mang[20] = “ef”;
Khi đó để thêm một phần tử mới vào mảng chúng ta có thể viết:
$mang[] = “uk”; //chỉ số sẽ là 51
Một phần tử mới được thêm vào với chỉ số lớn nhất của mảng cộng thêm 1. Ngoài
ra cũng có thể khai báo mảng một chiều bằng câu lênh array.
$mang = array(“ab”, “ef”);
Mảng hai chiều
Ta có thể khai báo mảng hai chiều như sau:
$mang = array(“europs” => (“de”, “uk”), “north america” =>(“ca”, “cr”, “us”));
Echo ($mang[“europs”][1]);
Ta có cấu trúc của mảng trên như sau:
23
$mang[“europs”]
$mang[“north america”]
[0]
[1]
[0]
[1]
[2]
“de”
“uk”
“ca”
“cr”
“us”
f. Lập trình hướng đối tượng
Định nghĩa lớp
Chúng ta có thể định nghĩa lớp bằng toán tử class, và trong mỗi một lớp
chúng ta sẽ xây dựng các phương thức và thuộc tính cho lớp đó.
Giả sử muốn xây dựng lớp “sesion” chúng ta làm như sau:
Class sesion
{
//Định nghĩa các thuộc tính và phương thức
// Xây dựng các phương thức cho lớp
//Kết thúc một lớp
}
?>
Để định nghĩa thuộc tính cho lớp, chúng ta đặt từ khóa var trước thuộc tính
đó.
Class sesion
{
Var $splhost = “localhost”;
...
//Định nghĩa các phương thức ở đây
//Kết thúc định nghĩa lớp
}
?>
24
Tiếp theo chúng ra sẽ định nghĩa các phương thức cho lớp trên.
Phương thức cần xây dựng đầu tiên là sesion(), sau đó đến các phương thức khác.
//Định nghĩa lớp session
Class sesion
{
//Định nghĩa các thuộc tính
...
// Định nghĩa các phương thức
Function sesion($localseshID,$localuserID = 0)
{
$this->seshid = $localseshid;
$this->userid = $localuserid;
// Kết nối với mysql
$this->linked
=
mysql_connect($this->sqlhost,$this->sqluser,$this->
sqlpass);
If(!$this->linked)
{
$this->err = mysql_error();
$this->error_no = 102;
}
}
}
?>
Sử dụng lớp đã được định nghĩa
Để khai báo một đối tượng có kiểu thuộc tính lớp đã xây dựng ta dùng toán tử new
nhưu sau:
25