Tải bản đầy đủ (.doc) (69 trang)

Xây dựng website quản lý thư viện cho một khoa ở một trường Đại Học hoặc Cao Đẳng.DOC

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 (669.84 KB, 69 trang )

Báo cáo khóa luận tốt nghiệp đại học 2011

MỤC LỤC
MỤC LỤC...................................................................................................................1
HÌNH ẢNH.................................................................................................................. 2
TĨM TẮT...................................................................................................................3
ABSTRACT................................................................................................................3
KÍ HIỆU VÀ VIẾT TẮT............................................................................................4
CHƯƠNG 1: TỔNG QUAN......................................................................................5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..........................................................................7
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU....................................29
TỔNG KẾT...............................................................................................................57
PHỤ LỤC..................................................................................................................58
TÀI LIỆU THAM KHẢO........................................................................................68

SVTH: Nguyễn Tấn Phát

Trang 1


Báo cáo khóa luận tốt nghiệp đại học 2011

HÌNH ẢNH
Hình 2.1. Cấu trúc một phần tử XML.....................................................................19
Hình 3.1. Mơ hình dữ liệu quan niệm (CDM).........................................................31
Hình 3.2. DFD mức 0................................................................................................32
Hình 3.3. DFD mức 1................................................................................................32
Hình 3.4. DFD tiến trình “xử lý mượn trả sách”....................................................33
Hình 3.5. Sơ đồ cơ sở dữ liệu....................................................................................34
Hình 3.6. Trang đăng nhập admin..........................................................................37
Hình 3.7. Menu điều khiển.......................................................................................38


Hình 3.8. Trang quản lý thơng tin sách...................................................................41
Hình 3.9. Ảnh bìa mặc định.....................................................................................42
Hình 3.10. Form tạo tài khoản.................................................................................42
Hình 3.11. Yêu cầu mượn sách................................................................................43
Hình 3.12. Xác nhận trả sách...................................................................................44
Hình 3.13. Danh mục phiếu cũ.................................................................................45
Hình 3.14. Giao diện trang chủ...............................................................................47
Hình 3.15. Module thơng tin đăng nhập..................................................................50
Hình 3.16. Chức năng đặt mượn được mở..............................................................50
Hình 3.17. Chức năng tra cứu..................................................................................51
Hình 3.18. Chức năng kiểm tra sách đã đặt............................................................52
Hình 3.19. Module sách mượn nhiều nhất..............................................................54

SVTH: Nguyễn Tấn Phát

Trang 2


Báo cáo khóa luận tốt nghiệp đại học 2011

TĨM TẮT
Thư viện trong một trường Đại Học là nơi các sinh viên dành nhiều thời gian
để thực hiện việc nghiên cứu, học tập, cũng như tìm thấy những quyển sách hay để
trau dồi kiến thức của mình. Do đó việc phát triển và quản lý tốt thư viện là hết sức
cần thiết cho việc tự học của sinh viên.
Từ lâu, việc ứng dụng công nghệ thông tin trong quản lý đã trở thành xu hướng
bởi nó khơng chỉ mang lại hiệu quả vượt trội mà còn tiết kiệm nhân lực, tiền bạc và
thời gian hơn hẳn. Nhưng đối với một thư viện điện tử, nếu chỉ dừng lại ở quản lý
sách trong thư viện thì vẫn cịn chưa đủ. Trong thời đại internet bùng nổ như hiện nay,
việc tích hợp tính năng tra cứu và đặt mượn sách trực tuyến hứa hẹn khả năng phục

vụ sinh viên mọi lúc, mọi nơi, và cũng tối ưu hóa vai trị của một thư viện điện tử.
Đề tài : “Xây dựng website quản lý thư viện cho một khoa ở một trường Đại
Học hoặc Cao Đẳng” được đề ra nhằm mục đích trên. Dựa trên ngôn ngữ mã nguồn
mở PHP cùng với hệ quản trị cơ sở dữ liệu MySQL, sinh viên thực hiện đề tài đã hoàn
thành website trên, với thư viện Khoa Kỹ Thuật Cơng Nghệ trường Đại Học Tây Đơ
là hình mẫu cho dự án.

ABSTRACT
A library in an university is the place where students spend most of their time
for researching, as well as finding good books to enrich their knowledge. For that
reason, the development and management of a library is very important to students’
self-studying.
For a long time, applying information technology into management has
become quite a tendency because it brings not only outstanding effeciency but also
saves a great deal of manpower, money and time. But, to an electronic library, it
wouldn’t be called a success if we stop at management only. These days, when
internet usage has become a blast, the integration of books searching and booking
feature promises the ability of serving students everytime, everywhere, as well as
optimizes the role of an electronic library.
The project : “Develop a library management website for a department in an
university or a college” is then proposed for that purpose. Basing on the open-source
language PHP and the database management system MySQL, the developer has
completed the mentioned website, with the library of Tay Do University’s
Technology Department as a sample for this project.
SVTH: Nguyễn Tấn Phát

Trang 3


Báo cáo khóa luận tốt nghiệp đại học 2011


KÍ HIỆU VÀ VIẾT TẮT
Kí hiệu
CSDL
CSS
DBMS
DOM
DTD
HTML
OOP
PHP
SGML
SQL
WYSIWYG
XHTML
XML

Ý nghĩa
Cơ Sở Dữ Liệu
Cascading Style Sheet
Database Management System
Document Object Model
Document Type Definition
Hyper Text Markup Language
Object-Oriented Programming
PHP Hypertext Preprocessor
Standard Generalized Markup Language
Structure Query Language
What You See Is What You Get
eXtensible Hyper Text Markup Language

eXtensible Markup Language

SVTH: Nguyễn Tấn Phát

Trang 4


Báo cáo khóa luận tốt nghiệp đại học 2011

CHƯƠNG 1: TỔNG QUAN

1.1. ĐẶT VẤN ĐỀ :
Thư viện là nơi lưu trữ một khối lượng kiến thức đồ sộ và hết sức quý giá đối
với việc học tập, nghiên cứu của sinh viên và giảng viên. Nhưng hiện nay, việc quản
lý thư viện theo cách truyền thống ít nhiều đã gây khó khăn cho độc giả lẫn người
quản lý. Về phía độc giả, họ không thể nắm được danh mục sách tại thư viện đó, cũng
như khơng có gì đảm bảo cho việc họ có thể mượn được quyển sách ưng ý khi đến
thư viện. Cịn về phía người quản lý thư viện, công việc quản lý mượn sách một cách
thủ công chiếm của họ khá nhiều thời gian, sức lực và vật chất.
Chính những lý do trên đã khiến cho việc tin học hóa các cơng tác văn phịng,
thủ tục hành chính trở thành một xu thế tất yếu. Những thiết bị lưu trữ, hệ thống thông
tin đang dần thay thế những tủ hồ sơ khổng lồ. Trước những lợi ích mà công nghệ
thông tin mang lại, việc thay đổi cách thức quản lý thư viện đã trở thành một nhu cầu
thực tiễn và hoàn toàn nằm trong tầm tay.

1.2. LỊCH SỬ GIẢI QUYẾT ĐỀ TÀI :
Việc xây dựng hệ thống thông tin và ứng dụng phục vụ quản lý thư viện đã
được nhiều sinh viên nghiên cứu, thực hiện trước đây. Những dự án đó gần như đã
hồn thiện các nhu cầu về quản lý sách thư viện, chỉ cịn tồn tại duy nhất một vấn đề.
Đó là tính cục bộ, vốn là đặc điểm của các phần mềm. Chúng khó có thể phục vụ rộng

rãi cho nhiều loại đối tượng.
Một số dự án đã được nâng cao hơn, với hướng phát triển theo mơ hình server
- client, nhằm bổ sung khả năng phục vụ độc giả của thư viện thơng qua mạng máy
tính. Các phần mềm dạng này gồm ứng dụng phía người quản lý (server) để quản lý
thông tin sách và giải quyết mượn sách, cùng với ứng dụng phía người dùng (client)
cho phép độc giả tham khảo và đặt mượn sách. Mặc dù vậy, các bộ ứng dụng trên vẫn
chưa tạo nên sự tiện lợi cho người sử dụng, do các khách hàng phải trải qua q trình
cài đặt, cũng như có các địi hỏi về cấu hình máy tính.
Những lí do trên thúc đẩy một cách tiếp cận mới đối với đề tài quản lý thư
viện, đó là xây dựng ứng dụng trên nền web. Dự án này cũng bao gồm một website
Admin Control Panel thực hiện các chức năng của người quản lý, và một website
phục vụ độc giả của thư viện. Lợi thế khi phát triển đề tài trên nền web là người sử
SVTH: Nguyễn Tấn Phát

Trang 5


Báo cáo khóa luận tốt nghiệp đại học 2011
dụng có thể truy cập mọi lúc mọi nơi, chỉ cần ít nhất một trình duyệt web (ví dụ : trình
duyệt Internet Explorer đi kèm với hệ điều hành Microsoft Windows) và một đường
truyền internet. Hơn thế nữa, với khả năng sử dụng đa dạng các nội dung media (ví dụ
âm thanh, phim ảnh v.v…) để xây dựng giao diện, một website đảm bảo sự hấp dẫn
đối với người sử dụng hơn hẳn.

1.3. PHẠM VI ĐỀ TÀI :
Phạm vi đề tài sẽ bao gồm các nội dung sau đây :
- Xây dựng chức năng quản lý, cập nhật thông tin sách trong thư viện.
- Xây dựng chức năng quản lý, cập nhật tài khoản và thông tin độc giả.
- Xây dựng chức năng quản lý việc mượn trả sách, tự động kiểm tra việc đặt
mượn sách và phiếu mượn sách.

- Xây dựng chức năng đăng mới và quản lý các thông báo của thư viện.
- Xây dựng hộp tin nhắn để tiếp nhận các liên hệ của độc giả.
- Xây dựng chức năng tra cứu thông tin sách, xem các thông báo, giới thiệu
dành cho độc giả.
- Xây dựng chức năng đặt mượn sách và hủy đặt mượn sách.
- Xây dựng chức năng cho phép độc giả xem và thay đổi thông tin cá nhân,
xem các sách đang mượn và các phiếu mượn sách.
- Xây dựng chức năng liên hệ người quản trị.

1.4. HƯỚNG GIẢI QUYẾT VẤN ĐỀ :
Xuất phát từ các yêu cầu trên, đề tài sẽ được giải quyết theo hướng sau:
- Tìm hiểu cách tổ chức thơng tin sách của thư viện.
- Tìm hiểu cách tổ chức các nhóm độc giả và quy định về mượn trả sách.
- Phân tính quy trình đặt mượn, lập phiếu mượn và trả sách.
- Dựa trên kết quả phân tích, thiết kế hệ thống thông tin phù hợp với nhu cầu
thự tiễn.
- Lựa chọn các ngôn ngữ, công nghệ để xây dựng website: ngơn ngữ lập trình :
HTML, PHP; CSDL : MySQL; cơng nghệ hỗ trợ : CSS, XML.

SVTH: Nguyễn Tấn Phát

Trang 6


Báo cáo khóa luận tốt nghiệp đại học 2011

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. TỔNG QUAN VỀ HTML :
2.1.1. Giới thiệu:

HTML: HyperText Markup Language. Đây là một ngôn ngữ đơn giản được sử
dụng trong các tài liệu siêu văn bản. Nó cũng chỉ là các tài liệu văn bản bình thường
nhưng có chứa các thành phần đặc biệt gọi là các thẻ (hoặc các cặp thẻ) đánh dấu.
Dựa theo các cặp thẻ này mà trình duyệt có thể biết được nó phải thể hiện nội dung gì.
Bản chất của HTML khơng phải là một ngơn ngữ lập trình nên cũng khơng chứa
những thuật tốn lằng nhằng. Nó chỉ là một "ngôn ngữ" để đánh dấu văn bản thôi.
HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide Web
Consortium (W3C) duy trì. Phiên bản mới nhất của nó hiện là HTML 4.01. Tuy
nhiên, HTML hiện khơng cịn được phát triển tiếp. Người ta đã thay thế nó bằng
XHTML.

2.1.2. Cấu trúc của một trang HTML:
Cấu trúc của một file HTML có dạng:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
phần thân tài liệu
</BODY>
</HTML>
Cặp thẻ <HTML></HTML> đánh dấu vị trí bắt đầu và kết thúc của một đoạn
mã HTML. Các khai báo về định dạng, tiêu đề, đính kèm … sẽ được đặt trong cặp thẻ
<HEAD></HEAD>.Tồn bộ nội dung hiển thị sẽ được đặt trong cặp thẻ
<BODY></BODY>.

SVTH: Nguyễn Tấn Phát

Trang 7



Báo cáo khóa luận tốt nghiệp đại học 2011
2.1.3. Các thẻ trong HTML:
Cấu trúc của 1 thẻ trong HTML bao gồm: dấu "<" ( nếu là thẻ đóng thì sẽ bắt
đầu bằng "số), dấu ">". Ví dụ : cặp thẻ <font>…</font>.
Có rất nhiều các cặp thẻ , hay gọi chung là phần tử đánh dấu, được sử dụng
trong HTML, nhưng có thể chia làm bốn loại phần tử đánh dấu sau:
- Đánh dấu Có cấu trúc miêu tả mục đích của phần văn bản (ví dụ:

Golf

sẽ điều khiển phần mềm đọc hiển thị "Golf" là đề mục cấp một).
- Đánh dấu trình bày miêu tả phần hiện hình trực quan của phần văn bản bất
kể chức năng của nó là gì (ví dụ, <b>bold</b> sẽ hiển thị đoạn văn bản bold) (Chú ý
là cách dùng đánh dấu trình bày này bây giờ khơng cịn được khun dùng mà nó
được thay thế bằng cách dùng CSS),
- Đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia (ví dụ,

- method: Thuộc tính này có 2 giá trị POST hoặc GET, để xác định dữ liệu gửi
lên theo kiểu POST hay GET.
Kiểu GET chính là kiểu mà khi nhập dữ liệu lên máy chủ, các dữ liệu này sẽ
được hiển thị trên ô Address dưới dạng các căp tên=giá_trị. Nhược điểm của kiểu này
là toàn bộ URL và chuỗi tên=giá_trị kia sẽ bị giới hạn dưới 255 ký tự (do đặc điểm
của trình duyệt). Vì vậy để có thể gửi nhiều dữ liệu hơn, người ta đã sinh ra kiểu
SVTH: Nguyễn Tấn Phát

Trang 8


Báo cáo khóa luận tốt nghiệp đại học 2011
POST. Với kiểu này, dữ liệu sẽ không bị giới hạn chiều dài 255 ký tự của chuỗi địa
chỉ do không bị gộp vào chuỗi địa chỉ mà được đóng thành dữ liệu gói và gửi đến
server. Kiểu POST cũng thường dùng để truyền các dữ liệu nhạy cảm mà người sử
dụng khơng muốn hiển thị trên ơ address (password chẳng hạn).
Ví dụ:
<form method = "post"> Test
</form>
- action: Thuộc tính này sẽ chỉ định form gửi dữ liệu đến trang nào. Trong
trường hợp thuộc tính này khơng được khai báo, form sẽ gửi thẳng dữ liệu và yêu cầu
về chính trang hiện hành (sau đó trình duyệt sẽ tải lại nội dung mới).
Ví dụ:
<form method = "post" action ="test.php"> Test
</form>
Tuy nhiên, 2 ví dụ trên chưa có ý nghĩa gì, vì chúng ta chưa trang bị các thành
phần cơ bản của form như ô văn bản, nút bấm...
Các thẻ nhập vào (input):
Thẻ input có một số thuộc tính, mỗi thuộc tính sẽ quy định những chức năng
riêng:

- name: Chỉ định tên cho thẻ. Tên này sẽ được gửi lên máy chủ cùng giá trị
nhập vào cho thẻ.
- value: Xác định giá trị đặt trước cho thẻ.
- type: Thuộc tính này có một số giá trị sau:
 submit: Sẽ xác định một nút bấm (submit) mà khi kích chuột vào đó, form
sẽ tự động kích hoạt và gửi dữ liệu đi
 text: Hiển thị một ô văn bản cho phép người sử dụng nhập văn bản
 password: Hiển thị ô văn bản để nhập password.
 hidden: Tạo một biến ẩn, ta có thể dùng nó để lưu trữ các dữ liệu "ẩn" khỏi
người dùng, tất nhiên nếu họ biết View source lên thì chịu.
Ví dụ: đoạn mã sau sinh ra một form có 1 ô văn bản, một ô nhập mật khẩu và 1
nút bấm:
<form method="POST">


SVTH: Nguyễn Tấn Phát

Trang 9


Báo cáo khóa luận tốt nghiệp đại học 2011
User Name:<input type="text" name="T1" size="20">



Password:
<input type="password" name="T2" size="20">value="Login" name="B1">


</form>
Thẻ tạo hộp chọn xổ xuống:
Danh sách sổ xuống là một ô danh sách cho phép bạn kích chọn 1 mục trong
danh sách sẵn có.
Để tạo một hộp chọn sổ xuống, ta phải sử dụng 2 thẻ: Thẻ Select và thẻ Option

như sau:
<Select name =abc>
<option value = gia_trí1>nội dung 1</option>
<option value = gia_trí2>nội dung 2</option>
<option value = gia_trí3>nội dung 3</option>
.....
<option value = gia_trín>nội dung n</option>
</select>
Trong đó:
Thẻ Select với thuộc tính name sẽ xác định tên của hộp danh sách sổ xuống.
Các thẻ option xác định giá trị của tên biến trong thẻ select nếu được chọn. Giá
trị sẽ được gán vào biến nằm trong thuộc tính value của thẻ option.
Ví dụ:
<form method="POST">


User Name:<input type="text" name="T1" size="20">



Password:
<input type="password" name="T2" size="20">value="Login" name="B1">


Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
SVTH: Nguyễn Tấn Phát

Trang 10


Báo cáo khóa luận tốt nghiệp đại học 2011



</form>
Khi người dùng kích chọn Male, giá trị 1 sẽ được chuyển vào biến sex (được
định nghĩa trong thẻ Select>).
Các thẻ lựa chọn radio:
Các thẻ này sẽ cho phép hiển thị ra một danh sách các nút tròn, mà chúng ta sẽ
chỉ được phép kích chọn 1 trong các nút đó.
Để hiển thị các nút radio này, các bạn có thể dùng thẻ input với type là radio.
Một nhóm các nút radio này sẽ được thiết lập nếu như thuộc tính name của chúng
trùng nhau:
<input type="radio" value="" name="R1">
Ví dụ dưới đây mơ phỏng dòng chọn kiểu gõ (telex, VNI) trên diễn đàn:
<input type=radio name="switcher" value="OFF" >Tắt
<input type=radio name="switcher" checked value="TELEX" >Telex
<input type=radio name="switcher" value="VNI"> VNI
Thẻ nhập khối văn bản:
Thẻ input với thuộc tính type = text chỉ cho phép ta hiển thị ra một ơ văn bản
nhỏ (hiện được 1 dịng). Để hiện ra một ơ soạn thảo lớn, có thể hiển thị nhiều dòng
đồng thời, ta phải dùng thẻ textarea:
<textarea name =xxx>Giá trị mặc định của khối văn bản </textarea>
Trên đây là một vài thẻ cơ bản dùng để xây dựng các biểu mẫu nhập liệu. Về
vấn đề các đoạn mã PHP sẽ nhận các dữ liệu truyền đi như thế nào, xin được phép
trình bày sau trong phần Tìm hiểu về PHP. Mục giới thiệu các thẻ HTML cũng xin
được kết thúc tại đây.
2.1.4. Soạn thảo và định dạng:
HTML có thể được tạo ra và xử lý bởi rất nhiều cơng cụ khác nhau, từ những
chương trình soạn thảo văn bản đơn giản như Notepad, Wordpad v.v… cho đến
những công cụ soạn thảo trực quan theo dạng WYSIWYG.
SVTH: Nguyễn Tấn Phát


Trang 11


Báo cáo khóa luận tốt nghiệp đại học 2011
Tất cả các trang HTML nên bắt đầu với một khai báo định nghĩa kiểu tài liệu
(DTD). Ví dụ:
" />Ở đây, nó định nghĩa một tài liệu tuân thủ Strict DTD của HTML 4.01, mà
thuần túy là cấu trúc, nhường phần định dạng cho CSS. Các chuẩn DTD khác, bao
gồm Loose, Transitional, và Frameset, định nghĩa các quy tắc khác cho việc sử dụng
ngôn ngữ.
Nỗ lực tách phần nội dung ra khỏi phần hình thức trình bày của trang HTML
đã đưa đến sự xuất hiện của các chuẩn mới như XHTML. Các chuẩn này nhấn mạnh
vào việc sử dụng thẻ đánh dấu vào việc xác định cấu trúc tài liệu như phần đề mục,
đoạn văn, khối văn bản trích dẫn và các bảng, chứ khơng khun dùng các thẻ đánh
dấu mang tính chất trình bày trực quan, như <font>, <b> (in đậm), và <i> (in
nghiêng). Những mã mang tính chất trình bày đó đã được loại bỏ khỏi HTML 4.01
Strict và các đặc tả XHTML nhằm tạo điều kiện cho CSS. CSS cung cấp một giải
pháp giúp tách cấu trúc HTML ra khỏi phần trình bày của nội dung của nó.

2.2. SƠ LƯỢC VỀ XHTML:
2.2.1. Khái niệm về XHTML:
XHTML (Extensible HyperText Markup Language, "Ngôn ngữ Đánh dấu Siêu
văn bản Mở rộng") là một ngơn ngữ đánh dấu có cùng các khả năng như HTML,
nhưng có cú pháp chặt chẽ hơn. XHTML 1.0 đã trở thành dạng chuẩn được khuyên
dùng bởi World Wide Web Consortium (W3C) vào ngày 26 tháng 2, năm 2000.
2.2.2. So sánh giữa HTML và XHTML:
Sự khác biệt trong cú pháp giữa HTML và XHTML có thể được thấy rõ qua
một vài so sánh sau:
- Trong HTML một số phần tử có thể được lồng vào nhau không đúng cách

như thế này : <b><i>This text is bold and italic</b></i> . Trong XHTML tất cả các
phần tử phải được lồng vào nhau đúng cách như thế này: <b><i>This text is bold and
italic</i></b> .
- Với HTML thì các thẻ như
và <BR> là hiểu là giống nhau nhưng một
khi bạn đã xác định trang web của bạn là XHTML thì trình duyệt sẽ dịch hai thẻ này
là khác nhau.
SVTH: Nguyễn Tấn Phát

Trang 12


Báo cáo khóa luận tốt nghiệp đại học 2011
- Việc tối giản thuộc tính là bị nghiêm cấm, chẳng hạn HTML chấp nhận cách
viết như sau : <input checked> , trong khi XHTML đòi hỏi chúng phải đúng quy cách
: <input checked="checked" />.
Có thể thấy XHTML yêu cầu cú pháp chặt chẽ hơn HTML nhiều. Nhưng tại
sao XHTML lại trở thành dạng chuẩn được khuyến khích và ưa chuộng. Cũng chính
nhờ vào cú pháp chặt chẽ đó, XHTML có thể hỗ trợ rất tốt các đoạn mã và tiện ích
đính kèm (applets) cho trang web. XHTML cũng được thiết kế phù hợp hơn với xu
hướng module hóa của các trang web hiện nay.

2.3. SƠ LƯỢC VỀ CSS:
2.3.1. Khái niệm về CSS:
CSS: Cascading Style Sheet. Đây là những mẫu để quy định cách thức thể hiện
các thẻ HTML.
CSS có 3 cách sử dụng:
- Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet).
- Định nghĩa trong 1 trang web (Internal Style Sheet).
- Định nghĩa thành 1 file CSS riêng (External Style Sheet).
2.3.2. Sự ra đời của CSS:

- Ta biết rằng các thẻ HTML chuẩn được thiết kế để định nghĩa nội dung của
một văn bản. Đầu tiên các thẻ HTML hỗ trợ cách viết "Đây là tiêu đề", "Đây là đoạn",
"Đây là bảng".... bằng cách sử dụng các thẻ <H1>, <P>, <TABLE>... Cách bố trí văn
bản này được qui định bởi trình duyệt web và khơng có bất cứ một thẻ nào để định
dạng văn bản.
- Đến các trình duyệt thế hệ sau đặc biệt là Nescape và Internet Explorer tiếp
tục đưa thêm vào các thẻ HTML mới cùng các thuộc tính định dạng riêng của mình
(như các thẻ <FONT> và thuộc tính Color...). Do đó ngày càng khó để tạo ra được
một website khi mà nội dung của nó bị tách rời khỏi cách bố trí.
- Để giải quyết vấn đề này World Wide Web Consortium (W3C) đã tạo ra
STYLE để đưa thêm vào trong HTML 4.0
- Style trong phiên bản HTML 4.0 qui định cách thức thể hiện các thẻ HTML
tương tự như thẻ <FONT> hay thuộc tính COLOR trong HTML 3.2. Style thường
được lưu trong các file nằm ngồi trang web. Chúng giúp bạn có thể thay đổi cách
SVTH: Nguyễn Tấn Phát

Trang 13


Báo cáo khóa luận tốt nghiệp đại học 2011
thức định dạng và cách bố trí các trang web chỉ bằng cách thay đổi riêng file CSS. Chỉ
khi bạn muốn thay đổi lại toàn bộ màu sắc, cách định dạng của các tiêu đề, nội dung
bạn mới hiểu rõ tác dụng thực sự của CSS.
- CSS cho phép chúng ta điều khiển cách định dạng và cách bố trí của cùng lúc
nhiều trang web với chỉ duy nhất 1 lần thay đổi tại một vị trí. Là một người thiết kế
web, bạn có thể định nghĩa 1 file CSS cho các thẻ HTML và áp dụng nó vào nhiều
trang web mà bạn muốn. Để thay đổi tổng thể các trang web này bạn chỉ đơn giản là
thay đổi file CSS và tất cả các trang đã áp dụng sẽ được thay đổi một cách tự động.

2.3.3. Thứ tự áp dụng các định dạng:

Như trên đã nói, ta có thể sử dụng nhiều cách khác nhau để làm CSS. Điều gì
sẽ xảy ra nếu bạn áp dụng nhiều cách định dạng cho 1 thẻ HTML?
Theo một cách chung nhất ra có thể nói các style của bạn sẽ được "xếp tầng"
(cascade). Việc xếp tầng này tuân theo thứ tự sau:
- Inline Style (Style được qui định trong 1 thẻ HTML cụ thể).
- Internal Style (Style được qui định trong phần <HEAD> của 1 trang HTML).
- External Style (style được qui định trong file CSS ngoài).
- Browser Default (thiết lập mặc định của trình duyệt).
Như vậy ta thấy các thiết lập trong 1 thẻ HTML có mức ưu tiên cao nhất,
Những gì được định nghĩa ở đây sẽ bị bỏ qua tất cả các định nghĩa khác (như trong
thẻ <HEAD>, File CSS ngoài, ...).

2.3.4. Cú pháp của CSS:
Cú pháp của CSS được tạo nên bởi 3 thành phần:
- Thành phần lựa chọn (thường là một thẻ HTML) (Selector).
- Thuộc tính (Property).
- Giá trị (Value).
Cú pháp của CSS được thể hiện như sau:
Selector {
Property1: Value1;
Property2: Value2;
}

SVTH: Nguyễn Tấn Phát

Trang 14


Báo cáo khóa luận tốt nghiệp đại học 2011
Selector thường là các thẻ HTML mà bạn muốn định nghĩa thêm. Property là

thuộc tính mà bạn muốn thay đổi, mỗi một thuộc tính cần phải có một giá trị. Một
thuộc tính và giá trị của nó được phân cách bởi dấu hai chấm. Hai cặp thuộc tính-giá
trị được phân cách nhau bởi dấu chấm phảy. Tồn bộ các cặp thuộc tính-giá trị của
một thẻ HTML được đặt trong cặp dấu ngoặc nhọn ({}).
Ví dụ:
body{color: black} /*Phần chữ trong thẻ body sẽ có màu đen*/
hay:
p {text-align: center} /*tất cả các thẻ <P> trong trang HTML sẽ được canh
giữa.*/
hay định nghĩa nhiều thuộc tính:
p
{
text-align: center;
color: red;
font-family: arial
}
Nhóm các thẻ
Trong trường hợp bạn muốn định nghĩa nhiều thẻ giống nhau bạn có thể nhóm
các thẻ lại. Ví dụ dưới đây sẽ nhóm tất cả các thẻ Header lại và định nghĩa chúng sẽ
có màu xanh:
h1,h2,h3,h4,h5,h6
{
color: green
}
Tạo các lớp
Bằng việc tạo ra các lớp, bạn có thể định nghĩa nhiều kiểu thể hiện khác nhau
cho cùng một thẻ HTML và áp dụng mỗi lớp vào một vị trí cần thiết trên trang web.
Ví dụ: Các lớp gắn với một thẻ cụ thể.
p.trai {text-align: left}
p.phai {text-align: right}

p.giua {text-align: center}
SVTH: Nguyễn Tấn Phát

Trang 15


Báo cáo khóa luận tốt nghiệp đại học 2011

Tiếp theo, trong trang HTML bạn sử dụng như sau:

Đoạn văn này được canh lề trái.


Đoạn văn này được canh lề phải.


Đoạn văn này được canh lề giữa.


Chú ý:
- CSS phân biệt chữ hoa và chữ thường giống như C++ do đó khi viết bạn cần
phải cẩn thận trong việc sử dụng chữ hoa, chữ thường.
- Trong trang HTML, bạn chỉ được phép khai báo 1 thẻ thuộc duy nhất một
lớp. Trái điều này mặc dù trình duyệt khơng báo lỗi nhưng các lớp sẽ khơng hoạt
động được.
Ví dụ : Các lớp không gắn với một thẻ cụ thể (có thể gắn với hầu như tất cả các
thẻ):
Rất đơn giản, bạn có thể tạo ra một lớp mà lớp đó có thể gắn vào hầu như bất
cứ thẻ nào trên trang web bằng cách bỏ tên thẻ ở đầu đi nhưng nhớ giữ lại dấu chấm
(.)
Định nghĩa một lớp "giua" có thể gắn với bất cứ thẻ nào
.giua{text-align="center"}
và trong trang HTML ta sử dụng như sau:

Đoạn văn này được canh lề giữa.


<td class="giua">Câu này được canh lề giữa.


Tạo các định danh (ID)
Tương tự như các lớp, các định danh cũng cho phép chúng ta chia các thẻ

thành nhiều loại khác nhau. Tuy nhiên trên thực tế thì Định danh khác với lớp!!! Một
lớp có thể áp dụng nhiều lần ở nhiều vị trí trên trang web, tuy nhiên 1 định danh chỉ
có thể áp dụng được duy nhất cho 1 thẻ và tên của định danh phải là duy nhất trên 1
trang web.
Ví dụ:
SVTH: Nguyễn Tấn Phát

Trang 16


Báo cáo khóa luận tốt nghiệp đại học 2011
Đoạn mã dưới đây có thể áp dụng cho thẻ <P> có ID là para1
p#para1
{
text-align: center;
color: red
}
Khi sử dụng như sau:
<P id="para1">Đoạn văn bản



2.3.5. Chèn CSS vào HTML:
Khi trình duyệt web đọc trang web của bạn nó sẽ định dạng trang web theo
cách CSS đã qui định cho nó. Theo như phần Thứ tự các định dạng, ta có 3 cách chèn
CSS vào trang web của mình.
- Với External Style ( Sử dụng file CSS được định nghĩa thành 1 file riêng):
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
- Với Internal Style (Định nghĩa các style sheet ngay trong trang web):
<head>

<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
</style>
</head>
- Với Inline Style (style được qui định ngay trong mỗi thẻ HTML):


This is a paragraph


SVTH: Nguyễn Tấn Phát

Trang 17


Báo cáo khóa luận tốt nghiệp đại học 2011

2.4. SƠ LƯỢC VỀ XML:
2.4.1. Giới thiệu:
XML (Extensible Markup Language) là ngôn ngữ đánh dấu mở rộng được phát
triển dựa trên tính đơn giản, dễ dùng của HTML và tính phức tạp nhưng đa chức năng
của SGML. XML được thiết kế để cho phép máy tính có thể trao đổi tài liệu với nhau
thông qua Web mà không làm mất đi ý nghĩa của dữ liệu.
Một tài liệu XML bao gồm một tập các cặp thẻ được lồng vào nhau. Mỗi thẻ
có một cặp các thuộc tính và giá trị. Việc ghi các thông tin truy vấn từ CSDL vào tài
liệu XML cho phép người lập trình sử dụng nhiều lần các thơng tin đó mà khơng làm
lãng phí tài ngun của server, cũng như không lẫn lộn cấu trúc của dữ liệu.
2.4.2. Cấu trúc của một tài liệu XML:
Một tài liệu XML có thể được chia thành hai phần chính, mỗi phần có thể có
các thành phần theo quy định khác nhau:

- Phần Prolog: Chứa các khai báo cho tài liệu XML. Phần này có thể chứa các
định đạng như: các chỉ thị xử lý, định nghĩa kiểu cho tài liệu, chú thích, phiên bản
đang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng.
- Phần thân chứa nội dung dữ liệu, bao gồm một hay nhiều phần tử, mỗi phần
tử được chứa trong một cặp thẻ. Phần tử đầu tiên của tài liệu được gọi là phần tử gốc
(root element).
Một ví dụ về phần tử trong tài liệu XML :
<sach masach="4" matheloai="4" matacgia="3" manxb="6">
<tensach>Thiết lập Firewall với ISA Server 2006</tensach>
<tentheloai>Mạng máy tính</tentheloai>
<tentacgia>Khương Anh</tentacgia>
<tennxb>Nhà xuất bản Lao động - Xã hội</tennxb>
<tenanh>4.jpg</tenanh>
<gioithieu>giới thiệu ISA Server 2006</gioithieu>
<soluong>3</soluong>
<ngaynhap>2011-04-23</ngaynhap>
</sach>

SVTH: Nguyễn Tấn Phát

Trang 18


Báo cáo khóa luận tốt nghiệp đại học 2011

Cấu trúc của phần tử trên thể hiện theo dạng cây:

sa
ch
n

ga
y
n
ha
so
p
lu
o
n
gi
g
oi
th
ie
u
te
na
n
h
te
n
n
x
te
b
nt
ac
gi
a
te

nt
he
lo
ai
te
ns
ac
h
Hình 2.1. Cấu trúc một phần tử XML
Các thẻ thuộc tính và giá trị của nó được hiểu như một node con của phần tử
sach. Do đó, khi đọc tài liệu XML, ta có 2 cách để lấy giá trị của các thẻ. Đó là gọi tên
thẻ để lấy giá trị, và gọi thứ tự node con của phần tử để lấy giá trị.

2.5. TÌM HIỂU VỀ PHP:
2.5.1. Giới thiệu:
PHP : viết tắt của PHP Hypertext Preprocessor, một định nghĩa mang tính đệ
quy khá khó hiểu, 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ủ. 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. Hơn thế nữa, với ưu thế mã
nguồn mở, PHP thích hợp với mục đích học tập, nghiên cứu nhưng cũng đang ngày
càng được ưa chuộng trong giới doanh nghiệp vì tính đa mơi trường của nó. PHP có
thể được cài đặt trên nhiều web server như Apache, Microsoft IIS, … cũng như nhiều
hệ điều hành như Unix, Mac OS, Windows.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP
SVTH: Nguyễn Tấn Phát


Trang 19


Báo cáo khóa luận tốt nghiệp đại học 2011
lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô
doanh nghiệp.

2.5.2. Lịch sử phát triển PHP:
Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào trang
Web để theo dõi xem ai đang đọc tài liệu của ông ta. Dần dần, người ta bắt đầu thích
các đoạn Script này và sau đó đã xuất bản một gói cơng cụ có tên là "Personal Home
Pages" (nghĩa đầu tiên của PHP). Ông ta đã viết một cơ chế nhúng và kết hợp với một
số cơng cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, tức Form
Interpreter hay Phiên dịch biểu mẫu, được đặt tên là PHP/FI hay PHP2. Nó được hồn
thành vào khoảng giữa năm 1995.
Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc
rối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các
nhà phát triển nịng cốt trong dự án, và nó đã được tổ chức hố. Đó là sự bắt đầu của
PHP3. Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski,
Stig Bakken, Shane Caraveo và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng
và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổ
sung nhiều tính năng vào ngơn ngữ bằng cách viết các module cho nó. Cấu trúc của
ngôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từ
các ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục. Nếu bạn đã biết một
vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ khơng cảm thấy khó khăn.
Hiện nay, phiên bản PHP mới nhất là 5.3.6.
Trong đề tài này, sinh viên thực hiện quyết định sử dụng các kỹ thuật lập trình
PHP phổ thơng để có thể tương thích với phần lớn các máy chủ trên nền Unix/Linux.
Tuy nhiên, điều này không ảnh hưởng đến khả năng giải quyết các yêu cầu mà đề tài
đặt ra.


2.5.3. Các thành phần cơ bản của PHP:
Đoạn mã sau minh họa cách viết PHP lồng vào các trang HTML dễ dàng như
thế nào:
<html>
<head>
<title>Mã mẫu</title>
</head>
SVTH: Nguyễn Tấn Phát

Trang 20


Báo cáo khóa luận tốt nghiệp đại học 2011
<body>
echo "Chào thế giới PHP!";
?>
</body>
</html>
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP
qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của
PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng
phần giao diện ứng dụng HTTP.
Ngôn ngữ PHP hỗ trợ đầy đủ các kiểu dữ liệu giống các ngơn ngữ lập trình
khác như C++ hay Java, nhưng khác biệt ở chỗ khi khai báo ta không cần phải chỉ
định kiểu dữ liệu của biến. Một biến có thể được sử dụng để lưu bất kỳ kiểu dữ liệu
nào, và khi một biến được đặt giá trị thì kiểu có biến mới được tự động xác định.
$a=1 // $a là kiểu integer
$a=1.2 // Bây giờ, nó là kiểu double

$a="1" // Và bây giờ nó là kiểu string
Các cấu trúc điều khiển như cấu trúc điều kiện if … else…, switch, vòng lặp
for, while, v.v… được sử dụng hồn tồn giống với ngơn ngữ C+. Điều này khiến
việc làm quen với PHP trở nên cực kỳ dễ dàng cho những người đã quen với lập trình
trước đó, và cũng dễ dàng cho những người mới học lập trình do họ khơng cần phải
tập cách phân biệt giữa ngơn ngữ này hay ngơn ngữ khác.
Ví dụ về cấu trúc if … else…:
$x = 5;
if ( $x < 4 )
echo “$x lớn hơn 4”;
else
echo “$x không lớn hơn 4”;
Trong ví dụ trên, ta cịn thấy sự xuất hiện của hàm được sử dụng nhiều nhất
trong lập trình PHP: echo. Sau khi thực hiện các xử lý ở server, hàm này sẽ xuất ra
trình duyệt các kết quả người lập trình mong muốn dưới dạng nội dung HTML. Ngồi
ra, ta cũng có thể tự tạo các hàm xử lý để mã nguồn của mình trở nên gọn gàng hơn.
SVTH: Nguyễn Tấn Phát

Trang 21


Báo cáo khóa luận tốt nghiệp đại học 2011
function nhandoi(& $var) {
$var = $var*2;
}
Hai hàm thường được sử dụng khác là include và require, với mục đích chép
đoạn code đã được định nghĩa trước ở một trang khác vào trang hiện tại. Nhưng
chúng còn được tận dụng để tạo liên kết giữa các trang web đơn lẻ và điều hướng
website. Cú pháp:
include (“đường dẫn/tên file.php”);

require (“đường dẫn/tên file.php”);

2.5.4. PHP và Form:
Như đã từng đề cập trong phần Tổng quan về HTML, biểu mẫu (form) HTML
sử dụng hai cách truyền dữ liệu, đó là “GET” và “POST”. Cũng có nghĩa là, PHP sẽ
dùng tương ứng hai phương thức đó để nhận dữ liệu. Ngồi ra, PHP cịn hỗ trợ con
đường thứ ba, đó là COOKIES.
Dữ liệu gửi từ trình duyệt lên qua phương thức “GET” là phần dữ liệu được
nhập trực tiếp theo sau địa chỉ URL do trình duyệt gửi lên, hoặc các form HTML có
method = “GET” tự gán dữ liệu theo sau URL, được phân biệt với tên file script bằng
dấu hỏi chấm (?). Ví dụ, ta thường thấy các URL có dạng sau:
/>Khi đó, trình duyệt sẽ gửi theo địa chỉ trên một cặp biến = giá_trị, trong đó
biến có tên là artID và giá trị là 161 (artID=161). Chúng ta cũng có thể đưa lên nhiều
cặp biến=giá_trị bằng cách phân cách chúng bởi dấu &.
Khi trình duyệt gửi các thông tin này lên máy chủ, PHP sẽ tự động sinh ra một
mảng có tên là $_GET[] để nắm giữ tất cả các cặp biến và giá trị đó, trong đó, chỉ số
của mảng chính là một chuỗi mang tên của tên biến và giá trị của chỉ số đó chính là
giá trị của biến do trình duyệt gửi lên. Ví dụ, với địa chỉ URL trên thì PHP sẽ tự động
sinh ra một mảng $_GET có nội dung sau: $_GET["artID"] = 161. Như vậy PHP đã
nhận thành công dữ liệu truyền bằng phương thức “GET”.
“POST” là phần dữ liệu được gửi qua các form HTML có method ="POST".
Để lấy các biến theo kiểu “POST”, PHP sẽ tự động sinh ra mảng có tên là $_POST[].
Mảng này có chỉ số chính là tên của các phần tử trong form (các thẻ input, select... có
SVTH: Nguyễn Tấn Phát

Trang 22


Báo cáo khóa luận tốt nghiệp đại học 2011
thuộc tính name) và giá trị là nội dung giá trị do người sử dụng nhập vào các phần tử

có tên tương ứng. Ví dụ trong một form HTML có dịng input như sau:
<input type=”text” name=”t1” />
Nếu ta nhập nội dung dòng đó là “ok” và gửi dữ liệu đi (submit) thì mảng
$_POST sẽ có phần tử sau: $_POST["t1"] = ”ok”.
Cookies là một phần dữ liệu được lưu trên máy khách. Mỗi khi máy khách gửi
một yêu cầu tới máy chủ nào đó, thì nó sẽ gửi phần dữ liệu được lưu trong cookie
tương ứng với máy chủ đó. Người ta thường dùng cookies để lưu trữ các thơng tin có
liên quan đến nhiều "phiên" làm việc khác nhau. Vi giao thức HTTP là giao thức
không lưu trạng thái, nên cookies được sinh ra để làm nhiệm vụ lưu trữ một số biến
trạng thái để khắc phục nhược điểm này.
Khác với dữ liệu gửi từ form (“POST” hay “GET”) thì cookies sẽ được trình
duyệt tự động gửi đi theo mỗi lần truy cập lên máy chủ. Trong q trình làm việc,
cookie có thể bị thay đổi giá trị. Cookie sẽ bị vô hiệu hố nếu cửa sổ trình duyệt điều
khiển cookie đóng lại và cookie hết thời gian có hiệu lực. Theo mặc định, thời gian
"sống" của cookies là tồn tại cho đến khi cửa sổ trình duyệt sử dụng cookies bị đóng.
Tuy nhiên người ta có thể thiết lập tham số thời gian để cookie có thể sống lâu hơn (6
tháng chẳng hạn). Ví dụ như chế độ Remember ID & Password của 1 số trang web.
Trong PHP, để gửi cookie xuống trình duyệt, ta có thể sử dụng hàm setcookie:
setcookie ( string name [, string value [, int expire [, string path [, string
domain [, int secure]]]]]
Trong đó:
- string name: Chuỗi mang tên của cookie
- string value: Chuỗi mang giá trị của cookie tương ứng với tên đã cho
- int expire: Thời gian hết hạn của cookie
- string path: Đường dẫn của cookie (đến 1 thư mục nào đó trên máy chủ.
Tham số này cho biết cookie sẽ chỉ được truyền đi nếu như trang web mà trình duyệt
yêu cầu nằm trên thư mục đó, thay vì lúc nào cũng phải gửi đi tới bất kỳ khu vực
nào).
- string domain: cookie này sẽ được gửi tới domain nào?
- int secure: Chế độ bảo mật.

Các tham số trong cặp dấu ngoặc vuông là tuỳ chọn.
SVTH: Nguyễn Tấn Phát

Trang 23


Báo cáo khóa luận tốt nghiệp đại học 2011
2.5.5. Điều hướng Menu:
Bố cục của một trang web được chia thành nhiều phần, nhiều module và nội
dung chính thường nằm ở giữa trang. Vậy làm thế nào để có thể điều hướng menu mà
không cần phải sao chép lại các thành phần giống nhau ở các trang? Để thực hiện điều
này, ta sẽ sử dụng phương thức $_GET và hàm include của PHP.
Giả sử ta đã có một trang web với đầy đủ các thành phần, chỉ cịn nội dung
chính nằm trong thẻ <div></div> được để trống, cùng với các file php chứa nội dung
ta cần hiển thị trong thẻ <div></div> đó.
Trên menu ta sẽ đặt một liên kết như sau:
<a href=”index.php?content=thuvien”>Thư viện</a>
Trong thẻ <div></div>, ta sẽ dùng $_GET để lấy giá trị của biến content. Nếu
biến này rỗng thì $content sẽ có giá trị là “home” và file home.php sẽ được include
vào trang hiện tại. Nếu ta click vào liên kết trên, giá trị “thuvien” được gửi đi và
$content lúc này có giá trị là “thuvien”. Khi đó file thuvien.php sẽ được include vào
trang hiện hành.
if (empty($_GET['content'])){
}
else $content = $_GET['content'];
include($content.'.php');
?>

$content = 'home';


2.5.6. Thao tác CSDL trong PHP:
Thông thường, trong một ứng dụng có giao tiếp với CSDL, ta phải làm theo
bốn trình tự sau:
Bước 1: Thiết lập kết nối tới CSDL.
Bước 2: Lựa chọn CSDL.
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có
SVTH: Nguyễn Tấn Phát

Trang 24


Báo cáo khóa luận tốt nghiệp đại học 2011
Bước 4: Đóng kết nối tới CSDL.
Nếu như trong lập trình thơng thường trên Windows sử dụng các chương trình
điều khiển trung gian (ADO, ODBC...) để thực hiện kết nối và truy vấn, thì trong
PHP, khi lập trình tương tác với CSDL, chúng ta thường sử dụng thông qua các hàm.
Trong đề tài này, sinh viên thực hiện sử dụng DBMS MySQL với lí do đây là
hệ quản trị được sử dụng rộng rãi và ln được tích hợp sẵn trên các máy chủ hỗ trợ
PHP. Khả năng tổ chức, tra cứu dữ liệu và tính bảo mật của hệ quản trị này cũng đảm
bảo các nhu cầu của đề tài.
Trước khi kết nối tới CSDL, trước hết ta cần tạo một CSDL bằng cách sử dụng
công cụ phpmyadmin. Công cụ này được cài đặt sẵn trên các máy chủ hỗ trợ MySQL
và có thể truy cập theo đường dẫn: tên host/phpmyadmin/.
Cú pháp kết nối tới CSDL như sau :
$connection = mysql_connect(tên server,tên user,mật khẩu);// kết nối đến
server
$db = mysql_select_db(tên CSDL,$connection) ;//lựa chọn CSDL
?>

Thao tác truy vấn từ CSDL:
- Tạo một biến với giá trị là câu truy vấn. Ví dụ : $query = “(câu truy vấn)”;
- Nếu là một câu truy vấn xử lý (INSERT, UPDATE, DELETE) gọi hàm
mysql_query($query). Truy vấn kết thúc tại đây.
- Nếu là một câu truy vấn tra cứu (SELECT) ta phải lấy giá trị trả về vào một
biến. Ví dụ: $result = mysql_query($query). Sau đó ta sẽ cho hiển thị kết quả trả về
bằng cách chuyển các dữ liệu trả về thành dạng mảng với hàm mysql_fetch_array() :
$row = mysql_fetch_array($result). Mỗi lần gọi thì hàm này sẽ xuất 1 hàng vào mảng
$row. Ta có thể truy cập đến từng ô dữ liệu bằng cách gọi $row[“tên cột”] hoặc
$row[“thứ tự cột”].
Đóng kết nối : mysql_close($connection);

SVTH: Nguyễn Tấn Phát

Trang 25


×