Tải bản đầy đủ (.pdf) (65 trang)

Xây dựng website chia sẻ tài liệu trực tuyến cho trường THPT phú lương thái nguyên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.41 MB, 65 trang )

LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành và 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 Và 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 Truyền thông &
Mạng máy tính 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ô giáo ThS. Lương Thị Minh Huế đã
tận tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm đề tài. Trong
thời gian làm việc với cô, em không những tiếp thu thêm nhiều kiến thức bổ ích
mà còn học đượ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.
Do thời gian hạn hẹp,mặc dù đã nỗ lực hết sức mình nhưng đề tài của em
khó tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp
của quý thầy cô và các bạn để đề tài của em được hoàn thiện hơn. Một lần nữa
em xin chân thành cảm ơn!


MỤC LỤC
LỜI CẢM ƠN .....................................................................................................1
MỤC LỤC ..........................................................................................................2
DANH MỤC HÌNH ẢNH ...................................................................................3
BẢNG KÝ HIỆU VÀ DANH MỤC VIẾT TẮT..................................................5
LỜI MỞ ĐẦU .....................................................................................................6
CHƯƠNG I. CƠ SỞ LÝ THUYẾT .....................................................................7
1.1 Ngôn ngữ HTML.....................................................................................7
1.2 Công nghệ Responsive Boostrap..............................................................8
1.3 Ngôn ngữ PHP .......................................................................................11
1.3.1 Giới thiệu và sử dụng ngôn ngữ PHP................................................11
1.3.2 Ưu và ngôn ngữ nhược điểm của PHP ..............................................19
1.4 MYSQL.................................................................................................20


1.4.1. MySLQ là gì?..................................................................................20
1.4.2. Đặc điểm của MySQL .....................................................................20
1.4.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL...................................21
1.4.4. Phát biểu SQL .................................................................................24
1.4.5. Ưu và nhược điểm của MySQL.......................................................25
1.5 Hệ quản trị CSDL MySQL ......................................................................26
CHƯƠNG II. KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG .............28
2.1 Khảo sát hiện trạng hệ thống....................................................................28
2.1.1 Tìm hiểu hiện trạng...........................................................................28
2.1.2 Các thông tin vào ra của hệ thống .....................................................32
2.2 Phân tích thiết kế hệ thống .....................................................................32
2.2.1 Biểu đồ Use Case..............................................................................32
2.2.2 Biểu đồ trình tự và cộng tác ..............................................................43
2.3 Thiết kế cơ sở dữ liệu.............................................................................54
CHƯƠNG III. XÂY DỰNG WEBSITE ............................................................55
3.1 Giao diện website ....................................................................................55
3.2 Giao diện trang quản trị .........................................................................59
KẾT LUẬN.......................................................................................................62
TÀI LIỆU THAM KHẢO .................................................................................64
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN................................................65
2


DANH MỤC HÌNH ẢNH
Hình 1. 1:Cấu trúc thư mục của bootstrap............................................................9
Hình 1. 2: Ví dụ về Bootstrap ............................................................................10
Hình 1. 3: Ví dụ về Bootstrap. ...........................................................................11
Hình 2. 1: Biểu đồ UC cho tác nhân người dùng ...............................................39
Hình 2. 2: Biểu đồ UC cho chức năng quản lý thông tin cá nhân .......................40
Hình 2. 3: Biểu đồ UC cho chức năng xem tài liệu ............................................40

Hình 2. 4: Biểu đồ UC cho tác nhân người quản lý............................................41
Hình 2. 5: Biểu đồ UC cho chức năng quản lý thành viên..................................41
Hình 2. 6: Biểu đồ UC cho chức năng quản lý các danh mục sản phẩm. ............42
Hình 2. 7: Biểu đồ UC cho chức năng quản lý tài liệu. ......................................42
Hình 2. 8: Biểu đồ trình tự cho UC đăng kí .......................................................43
Hình 2. 9: Biểu đồ cộng tác cho UC đăng kí ......................................................43
Hình 2. 10: Biểu đồ trình tự cho UC đăng nhập .................................................44
Hình 2. 11: Biểu đồ cộng tác cho UC đăng nhập................................................44
Hình 2. 12: Biểu đồ trình tự cho UC tìm kiếm ...................................................45
Hình 2. 13: Biểu đồ cộng tác cho UC tìm kiếm .................................................45
Hình 2. 14: Biểu đồ trình tự cho UC xem chi tiết tài liệu ...................................46
Hình 2. 15:Biểu đồ cộng tác cho UC xem thông tin sản phẩm. ..........................46
Hình 2. 16: Biểu đồ trình tự cho UC Upload tài liệu. .........................................47
Hình 2. 17: Biểu đồ cộng tác cho UC Upload tài liệu.........................................47
Hình 2. 18: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân.......................48
Hình 2. 19: Biểu đồ cộng tác cho UC cập nhật thông tin cá nhân.......................48
Hình 2. 20: Biểu đồ trình tự cho UC quản lý thành viên ....................................49
Hình 2. 21: Biểu đồ cộng tác cho UC quản lý thành viên...................................50
Hình 2. 22: Biểu đồ trình tự cho UC quản lý các danh mục tài liệu....................51
Hình 2. 23: Biểu đồ cộng tác cho UC quản lý danh mục các tài liệu ..................52
Hình 2. 24 Biểu đồ trình cho UC quản lý tài liệu ...............................................52
Hình 2. 25: Biểu đồ lớp quản lý tài liệu .............................................................53
Hình 2. 26: Biểu đồ lớp quản lý danh mục tài liệu .............................................53
Hình 2. 27: Biểu đồ lớp quản lý thành viên........................................................53
3


Hình 2. 28: Biểu đồ lớp quản lý slide.................................................................53
Hình 2. 29: Cơ sở dữ liệu...................................................................................54
Hình 3. 1: Giao diện website .............................................................................55

Hình 3. 2: Giao diện header ...............................................................................55
Hình 3. 3: Giao diện danh mục tài liệu...............................................................56
Hình 3. 4: Giao diện nội dung chính ..................................................................56
Hình 3. 5: Giao diện footer ................................................................................57
Hình 3. 6: Giao diện trang đăng ký ....................................................................57
Hình 3. 7: Giao diện trang đăng nhập ................................................................58
Hình 3. 8: Giao diện trang tải lên.......................................................................58
Hình 3. 9: Giao diện trang liên hệ ......................................................................59
Hình 3. 10: Giao diện chi tiết tài liệu .................................................................59
Hình 3. 11: Giao diện trang quản trị...................................................................59
Hình 3. 12: Giao diện quản lý thành viên...........................................................60
Hình 3. 13:Giao diện quản lý thành viên............................................................60
Hình 3. 14:Giao diện quản lý tài liệu .................................................................60
Hình 3. 15:Giao diện thống kê báo cáo ..............................................................61
Hình 3. 16: Quản lý slide...................................................................................61

4


BẢNG KÝ HIỆU VÀ DANH MỤC VIẾT TẮT
STT



Chữ viết đầy đủ

Nghĩa tiếng Việt

hiệu
1


HTML HyperText

Markup Ngôn ngữ đánh dấu siêu văn bản

Language
2

PHP

Hypertext Preprocessor

Ngôn ngữ lập trình kịch bản

3

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu

4

CNTT

Google File Systems

Hệ thống tập tin Google


5

URL

Uniform Resource Locator

Định vị Tài nguyên thống nhất,
được dùng để tham chiếu tới tài
nguyên trên Internet.

6

IT

Information Technology

Công nghệ thông tin

7

SEO

Search engine optimization

Tối ưu hóa công cụ tìm kiếm

8

CMS


Content

Management Hệ thống quản trị nội dung

System
9

10

HTTP

UC

Hypertext transfer protocol Giao thức truyền siêu văn bản
over secure socket layer

trên tầng ổ cắm an toàn

Use Case

Mô tả sự tương tác đặc trưng
giữa người dùng bên ngoàivà hệ
thống

11

SQL

Structured Query Language Ngôn ngữ truy vấn có cấu trúc


5


LỜI MỞ ĐẦU
Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không
ngừng, bằng việc chinh phục hết đỉnh cao này thành đỉnh cao khác.Mạng internet
đang trở thành mạng truyền thông có sức ảnh hưởng lớn nhất, không thể thiếu
trong tất cả các hoạt động của con người trong việc truyền tải và trao đổi dữ liệu
từ trong nước đến ngoài nước, từ ngôn ngữ, hình ảnh cho đến âm thanh.
Internet đã thúc đẩy sự ra đời làm biến đổi bộ mặt văn hoá cũng như nâng
cao chất lượng cuộc sống của con người và các hoạt động thông thường như sản
xuất, kinh doanh, học tập.
Hiện nay, nguồn tiếp cận tài liệu của các bạn học sinh, sinh viên ngày
càng lớn, thông tin đa chiều mở ra yêu cầu cần có 1 website để học sinh và giáo
viên có thể cùng nhau chia sẻ nhiều tài liệu phong phú, bổ ích mà bạn than đang
có. Ngoài những nguồn truyền thống như sách báo, thư viện thì website chia sẻ
tài liệu cũng là 1 trong những kênh thông tin được rất nhiều bạn trẻ ưa chuộng.
Với nhu cầu đặt ra cùng với những gợi ý của cô giáo Lương Thị Minh Huế,em đã
đi đến thực hiện đề tài “Xây dựng website chia sẻ tài liệu trực tuyến cho
trường THPT Phú Lương - Thái Nguyên”. Nhằm phục vụ nhu cầu và xu
hướng tìm kiếm tài liệu của học sinh hiện nay. Hơn thế nữa đề tài cũng giúp em
tìm hiểu cách thức xây dựng một website chia sẻ tài liệu trực tuyến bằng
PHP&MYSQL.
Em xin cảm ơn sự hướng dẫn tận tâm của cô giáo Th.s Lương Thị Minh
Huế giảng viên trường đại học Công nghệ thông tin và Truyền thông Thái
Nguyênngười đã giúp em hoàn thành thành đề tài một cách thuận lợi. Tuy nhiên
với trình độ thực tiễn còn hạn chế và một số khó khăn gặp phải trong lúc thực
hiện đề tài nên cũng không thể tránh khỏi những thiếu sót em rất mong nhận
được sự ý kiến đóng góp từ thầy đề đề tài của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!


6


CHƯƠNG I. CƠ SỞ LÝ THUYẾT
1.1 Ngôn ngữ HTML
HTML (viết tắt từ HyperText Markup Language) là một ngôn ngữ đánh
dấu siêu văn bản, được thiết kế ra để xây dựng các trang web.Vậy thế nào là
ngôn ngữ đánh dấu siêu văn bản? Ta hãy cùng xem xét từng khía cạnh một:
Siêu văn bản (HyperText): Như ta đã biết, liên kết siêu văn bản là một từ
hay một câu trong trang Web dùng để chỉ đến trang Web khác. Khi nhấn chuột
lên một trong các liên kết này, trình duyệt web (như Netscape Navigator hoặc
Internet Explorer) sẽ đưa ta tức khắc đến trang Web kia mà không cần hỏi han gì.
Vì những liên kết siêu văn bản này thật sự là tính năng đặc trưng của World
Wide Web, các trang Web thường được biết như là những tài liệu siêu văn
bản.Vì thế, HTML có từ siêu văn bản trong tên của nó.
Đánh dấu (Markup): Có từ điển định nghĩa markup là các chỉ dẫn chi tiết
về kiểu dáng được ghi trên bản viết tay để xếp chữ in. Như vậy, chúng ta có thể
hiểu đó là các lệnh chi tiết về kiểu dáng được đánh vào tài liệu văn bản để đưa
lên WWW.
Nói chung, HTML tồn tại như là các tập tin văn bản chứa trên các máy
tính nối vào mạng Internet. Các file này có chứa thẻ đánh dấu và thường được
truyền đi trên mạng internet thông qua giao thức mạng HTTP. Sau đó thì phần
HTML của chúng sẽ được hiển thị thông qua một trình duyệt web, một loại phần
mềm trực quan đảm nhiệm công việc đọc văn bản của trang cho người sử dụng.
Cấu trúc của một tài liệu HTML
Các tập tin HTML luôn bắt đầu bằng thẻ <HTML>.Thẻ này không làm gì
khác ngoài nhiệm vụ báo cho trình duyệt Web biết rằng nó đang đọc một tài liệu
có chứa các mã HTML.Tương tự, dòng cuối trong tài liệu định dạng HTML luôn
luôn là thẻ </HTML>, có tác dụng thông báo sự kết thúc của văn bản HTML với

trình duyệt.
Chi tiết kế tiếp trong catalog thẻ HTML dùng để chia tài liệu thành hai
phần: đầu và thân.
7


Phần đầu giống như lời giới thiệu cho trang. Các trình duyệt Web dùng
phần đầu này để thu nhặt các loại thông tin khác nhau về trang. Để xác định phần
đầu, ta sử dụng thẻ <HEAD> và thẻ </HEAD> ngay sau thẻ <HTML>. Mặc dù
ta có thể đặt một số chi tiết bên trong phạm vi phần đầu này, nhưng phổ biến nhất
là tên trang. Nếu có ai đó xem trang này trong browser, thì tên trang sẽ xuất hiện
trong dải tên của cửa sổ browser. Để xác định tên trang, ta đặt đoạn văn bản tên
đó giữa các thẻ <TITLE> và </TITLE>.
Phần thân là nơi nhập vào các văn bản sẽ xuất hiện trên trang Web lẫn các
thẻ khác quy định dáng vẻ của trang. Để xác định phần thân, ta đặt các thẻ
<BODY> và </BODY> sau phần đầu (dưới </HEAD>).
Dưới đây là cấu trúc cơ bản của một trang web định dạng HTML:
<HTML>
<HEAD>
<TITLE> tên trang <TITLE>
Các thẻ tiêu đề khác
</HEAD>
<BODY>
Văn bản và các thẻ của trang Web
</BODY>
</HTML>
1.2 Công nghệ Responsive Boostrap
 Giới thiệu về Twitter Bootstrap
 Twitter Bootstrap bao gồm các mã CSS + HTML cơ bản cho typography,
forms, buttons, tables, grids, navigation, và nhiều thành phần khác của website.

 Twitter Bootstrap cung cấp lưới cố định (fixed) rộng 940px và 12 cột. Tất
nhiên là cũng có giải pháp cho việc dùng layout dạng động (fluid).
 Style của các phần tử HTML trong Twitter Bootstrap khá đơn giản và
thanh lịch. Ví dụ như phần đổ bóng trong input, highlight của bảng biểu, các mã
CSS hiển thị cảnh báo, tabs, phân trang…
8


 Tại sao lại sử dụng Twitter Bootstrap
Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và
css.Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ là
sử dụng các class đó vào mục đích của mình.Twitter Bootstrap còn hổ trợ
Responsive design một cách làm giao diện đa thiết bị rất được ưu chuộng trong
thời gian gần đây.
 Cách sử dụng Twitter Bootstrap
Tải Bootstrap tại đây: />Sau khi tải về, bạn sẽ có một file Zip. Tiến hành giải nén ta có một thư mục
có tên bootstrap, bên trong có 3 thư mục : css, img, js.

Hình 1. 1:Cấu trúc thư mục của bootstrap
Bước 1: Chúng ta tạo 1 file html có tên là index.html ở trong thư mục
bootstrap vừa giải nén phía trên.

Vậy là xong phần head. Giờ chúng ta viết tiếp phần body với 2 textbox và 2
button như sau:

9


Hình 1. 2: Ví dụ về Bootstrap
Vậy là xong.Ví dụ chỉ đơn giản vậy thôi.

Bạn sẽ thắc mắc là sao chạy nút submit và reset lại không nằm xuống phía dưới?

Hãy thu nhỏ trình duyệt và bạn sẽ thấy điều kỳ diệu:

10


Hình 1. 3: Ví dụ về Bootstrap.
1.3 Ngôn ngữ PHP
1.3.1 Giới thiệu và sử dụng ngôn ngữ PHP
a. Giới thiệu ngôn ngữ PHP
 Lịch sử ra đời
Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp
lại cùng đoạn mã khi tạo các trang. Ban đầu tác giả chỉ có ý định tạo bộ phân giải
đơn giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết
bằng C.
 PHP là gì ?
PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc
môi trường (cross-platfom). Cả hai yếu tố này đều rất quan trọng. Khái niệm
công nghệ phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy
chủ (ngược với máy khách là máy của người dùng). Tính chất không phụ thuộc
môi trường cho phép PHP chạy trên hầu hết các hệ điều hành như windows, Unix
11


(và nhiều biến thể của nó), Macintosh…Một điều cũng rất quan trọng là các mã
kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên các máy chủ
khác mà không cần chỉnh sửa hoặc chỉnh sửa rất ít.
Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy
cập một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết

quả đã xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì.
Mã PHP được bao trong cặp dấu <?php ?> hoặc <? ?>. Tập tin PHP có phần mở
rộng là .php hoặc .php3
PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm
đặc biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy, mà các
ứng dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính
là điểm mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể
giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả
Microsoft SQL. Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng
khác như IMAP, SNMP, LDAP, XML... PHP chạy trên hầu hết các nền tảng hệ
thống. Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web
chính thức của PHP.
Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí. Với máy tính
cấu hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy
chủ có thể phục vụ được nhiều ứng dụng web tương đối. Toàn bộ chi phí hầu như
chỉ là thời gian bạn bỏ ra để cài đặt các phần mềm.
PHP được xem là một thay thế cho Perl. PHP không thể làm được nhiều
như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng.
 Tại sao cần dùng PHP?
PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng
nghiên cứu hơn các giải pháp khác. PHP có khả năng thực hiện và tích hợp chặt
chẽ với hầu hết các cơ sở dữ liệu có sẵn, tính năng bền vững linh động và khả
12


năng phát triển không giới hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là
mã nguồn mở. PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được
mọi thứ, đáp ứng yêu cầu của lập trình viên chuyên nghiệp.
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn

được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay). PHP là modun thông dụng
cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu website
b. Sử dụng PHP
 Thẻ PHP
Có 4 loại khác nhau của thẻ PHP:
- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng.
<? echo “Đây là kiểu Short”; ?>
- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML.
<?php echo “Đây là kiểu định dạng với XML”; ?>
- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương
tự như khai báo Javascript hay VBScript
<script language = ‘php’>
echo “PHP script”;
</script>
-

Kiểu ASP:

<%
echo “Đây là kiểu ASP”;
%>
 Gọi hàm trong PHP

13


Để gọi hàm trong PHP, khai báo tương tự như gọi hàm trong các ngôn ngữ lập
trình khác, hầu hết các hàm khi gọi cần truyền tham số và giá trị trả về.
VD: Gọi hàm date()

echo “Hôm nay là: ”.date(“d/m/Y”);
?>
 Truy cập biến Form
Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ
form trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea...
Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng
cách sử dụng dấu $ trước tên biến. Có hai cách để truy cập dữ liệu trên form
thông qua biến.
- Để lấy giá trị của các thẻ trong form theo

dạng POST:

$_POST[‘tên_thẻ’]
-

Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]

 Khai báo biến
PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên
tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng.
 Gán giá trị cho biến
Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi
như vừa khai báo và khởi tạo. Trong trường hợp biến đã khai báo, biến này chỉ
thay đổi giá trị.
VD:
14


$qtty=20;

$price=10;
$total=$qtty*$price;
echo “Total: $total”;
?>
 Kiểu dữ liệu của biến trong PHP
PHP hỗ trợ 5 kiểu dữ liệu
- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số.
- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực.
- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự.
- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử cùng
kiểu dữ liệu.
- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp.
 Phát biểu có điều khiển
- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh
trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()
VD: $a = 10;
$b=6;
if($a>$b)
echo $a+$b;
Khối lệnh trong bất kỳ phát biểu điều khiển nào cũng có thể sử dụng dấu { và }. Có
nghĩa là nếu khối lệnh trong phát biểu lớn hơn 1 thì phải sử dụng hai dấu trên.
- Phát biểu Else: phát biểu else luôn là trường hợp ngược lại của phát biểu if với
15


một điều kiện, nếu điều kiện là true thì khối lệnh trong
phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu
else sẽ được thực hiện.
VD: $a = 10;
$b=6;

if($a>$b) echo $a+$b;
else
$b=$a+1;
Tương tự như trong trường hợp phát biểu if, nếu khối lệnh trong phát biểu điều
khiển else có hơn 1 dòng lệnh thì sẽ phải khai báo sử dụng dấu { và }.
- Phát biểu Switch: tương tự như phát biểu if, nhưng trong trường hợp có
nhiều hơn hai tùy chọn cụ thể cho phép quyết định. VD: switch($diem)
{
case “5”: echo “Điểm trung bình”;
break;
case “7”: echo “Điểm khá”;
break;
case “10”: echo “Điểm giỏi”;
break;
deafault: echo “Nhập lại”;
}
Nếu đúng điều kiện case, cần khai báo phát biểu break nhằm thoát ra khỏi phát
16


biểu switch. Trong trường hợp không khai báo break trong mỗi phát biểu case,
nếu thỏa mãn điều kiện trong case nhưng PHP vẫn tiếp tục thực hiện tiếp các
phát biểu case sau đó.
- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp while
cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while là
true như cú pháp
While (điều kiện)
{
câu lệnh thực hiện;
}

- Phát biểu do ... while: tương tự như while nhưng kiểm tra điều kiện sau khi thực
hiện khối lệnh.
do
{
câu lệnh thực hiện;
}
while (điều kiện)
- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng vòng
lặp for với 1 giới hạn chỉ định.
for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for)
{
khối lệnh thực hiện;
}

17


 Lưu trữ và truy vấn dữ liệu bằng PHP
- Mở file bằng PHP:
+ fopen(tên file, chế độ mở): mở file
+ puts(), fwrite(): ghi file
+ close(): Đóng file
+ feof(): Nhận giá trị true nếu con trỏ ở cuối file
+ file_exists(): Kiểm tra file có tồn tại
+ filesize(): kiểm tra dung lượng của file
- Thiết lập kết nối cơ sở dữ liệu
Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là
localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng
nhập làm việc trên cơ sở dữ liệu được mở.
-


Thiết lập kết nối:

Int mysql_pcconnect(“serverbname”, “username”, “password”);
if(!$db)
{
echo “Không kết nối được với CSDL”);
}
hoặc
$link = mysql_connect(“servername”, “username”, “password”)
or die(“Không kết nối được với CSDL”);
- Mở một CSDL: mysql_select_db(“database name”); hoặc
18


mysql_select_db(“database name”, $link);
-

Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);

-

Truy vấn cơ sở dữ liệu:

Int mysql_query(string sql);
Int mysql_query(string sql, [int db_connect]);
Int mysql_query(string database, string sql, [int db_connect]);
Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu truy
vấn trả về
-


Truy vấn dữ liệu:

Int mysql_fetch_array($result); Mysql_fetch_object($result);
-

Dung lượng của tập mẩu tin: int mysql_free_result(int $result);

1.3.2 Ưu và ngôn ngữ nhược điểm của PHP
a. Ưu điểm
- Dùng mã nguồn mở
- Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
- Tốc độ nhanh, dễ sử dụng
- Dựa vào XAMPP nên dễ cấu hình
- Nhiều hệ thống CMS miễn phí dùng
- Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu: MySQL, MS SQL, Oracle…
- Chạy trên nhiều hệ diều hành
- Cộng đồng của PHP được coi là khá lớn và có chất lượng
- Thư viện phong phú

19


- Tính bảo mật khá an toàn
- Khả năng mở rộng cho PHP là không có giới hạn
- Luôn được cải tiến và cập nhật
b. Nhược điểm
- Mã nguồn không đẹp
- Chỉ chạy trên ứng dụng web
1.4 MYSQL

1.4.1. MySLQ là gì?
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển.
Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì
vậy, MySQL là một RDBMS). Cơ sở dữ liệu là một tập hợp các dữ liệu có liên
quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ
chức bởi DBMS.
1.4.2. Đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần
tương đương với SQL server của Microsoft).
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có
nhiều bảng quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng
có thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người
dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất
đến cơ sở dữ liệu.
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và
mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó. Nếu không, chúng ta
sẽ không làm được gì cả.

20


1.4.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric
Loại

Range

Bytes


Diễn giải

Tinyint

-127 ->128 hay 0..255

1

Số nguyên rất nhỏ

Smallint

-32768 -> 32767 hay 0..65535

2

Số nguyên nhỏ

Mediumint

-8388608

838860

hay 3

Số nguyên vừa

Int


-231 -> 231 hay 0..232-1

4

Số nguyên

Bigint

-263 -> 263 hay 0..264-1

8

Số nguyên lớn

Float

Phụ thuộc số thập phân

->

0..16777215

Số thập phân dạng
Single hay Double

Float(M,D)

±1.175494351E-38

4


±3.40282346638

Số thập phân dạng
Single

Double(M,D) ±1.7976931348623157308
±2.2250738585072014E-308
Float(M[,D])

8

Số thập phân dạng
Double
Số chấm động lưu
dưới dạng char

b) Loại dữ liệu Date and Time
Loại

Range

Diễn giải

Date

1000-01-01

Date trình bày dưới dạng YYYY-mmdd


21


Time

00:00:00

Time trình bày dưới dạng hh:mm:ss

23:59:59
DateTime

1000-01-01
00:00:00

Date và Time trình bày dưới dạng
YYY-mm-dd hh:mm:ss

9999-12-31
TimeStamp[(M)]

Year[(2|4)]

23:59:59
1970-01-01

TimeStamp

00:00:00


YYYY-mm-dd hh:mm:ss

1970-2069

Year trình bày dưới dạng 2 số hay 4 số

1901-2155

Trình bày đại diện của TimeStamp
Loại

Hiển thị

TimeStamp

YYYYMMDDHHMMSS

TimeStamp(14)

YYYYMMDDHHMMSS

TimeStamp(12)

YYMMDDHHMMSS

TimeStamp(10)

YYMMDDHHMM

TimeStamp(8)


YYYYMMDD

TimeStamp(6)

YYMMDD

TimeStamp(4)

YYMM

(y = năm, m = tháng, d = ngày)

22

trình

bày

dưới

dạng


c) Loại dữ liệu String
Loại

Range

Diễn giải


Char

1-255 ký tự

Chiều dài của chuỗi lớn nhất 255 ký tự

Varchar

1-255 ký tự

Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob

28-1

Khai báo cho Field chứa kiểu đối tượng nhị
phân cỡ 255 ký tự

Tinytext

28-1

Khai báo cho Field chứa kiểu chuỗi cỡ 255 ký tự

Blob

216-1


Khai báo cho Field chứa kiểu blob cỡ 65535
ký tự.

Text

216-1

Khai báo cho Field chứa kiểu chuỗi dạng văn bản
cỡ 65535 ký tự.

Text

216-1

Khai báo cho Field chứa kiểu chuỗi dạng văn bản
cỡ 65535 ký tự.

Mediumblob

224-1

Khai báo cho Field chứa kiểu blob.
Vừa khoảng 16777215 ký tự.

Mediumtext

224-1

Khai báo cho Field chứa kiểu chuỗi dạng văn bản
vừa kho ng 16777215 ký tự.


Longblob

232-1

Khai báo cho Field chứa kiểu blob
lớn khoảng 4294967295 ký tự.

Longtext

232-1

Khai báo cho Field chứa kiểu blob vừa khoảng
4294967295 ký tự.

23


1.4.4. Phát biểu SQL
Tạo cơ sở dữ liệu:
Create Database <database_name> Create <object type>
<object_name>
Phát biểu SQL thao tác dữ liệu
- SELECT (truy vấn mẩu tin)
- INSERT (Thêm mẩu tin)
- UPDATE (Cập nhật dữ liệu)
- DELETE (Xóa mẩu tin)
a) Phát biểu Select
Select <danh sách cột> From <danh sách bảng>
Where <các điều kiện ràng buộc>

[Group by <tên cột/biểu thức trong Select>]
[Having <điều kiện bắt buộc của Group by>]
[Order by <danh sách cột>]
[Limit fromNumber | To Number]
b) Phát biểu Insert
Insert into <table_name> [<colum_name list>] Values (data_values)
c) Phát biểu Update
Update <table_name>
Set <column>=<value>, [<column>=<value>]
[where <restrictive conditions>]
24


d) Phát biểu Delete
Delete from <table_name> Where <condition>
Một số hàm thông dụng trong MySQL
+ Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn.
VD: select AVG(Amount) From tblOrder
+ Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn.
VD: select MIN(Amount) From tblOrder
+ Hàm MAX: : Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn.
VD: select MAX(Amount) From tblOrder
+ Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn.
VD: select Count(*) From tblOrder
+ Hàm Sum: Hàm trả về tống các giá trị của trường, cột trong câu truy vấn.
VD: select SUM(Amount) From tblOrder
+ Hàm CurDate(): hàm trả về ngày, tháng, năm hiện hành của hệ thống.
VD: select curdate() as ‘Ngay hien tai’
Hàm CurTime(): Hàm trả về giờ phút giây hiện hành của hệ thống.
VD: select curtime() as ‘Thoi gian

1.4.5. Ưu và nhược điểm của MySQL
a. Ưu điểm
 MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh đáng tin cậy có thể hoạt
động trên nhiều hệ thống.
 MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ.

25


×