Trong cuộc sống việc cập nhật tin tức hàng ngày là không thể thiếu. Có nhiều cách cập nhật tin tức khác nhau như qua ti vi, đài, báo hay qua truyền miệng người này với người kia tuy nhiên nó không được tiên lợi. Đối với tivi hay đài thì việc cập nhật tin tức không được chủ động, còn đối với báo thì chúng ta phải ra những cửa hàng bán báo để mua vừa mất công lại tốn phí. Còn chưa kể những lúc không may bỏ lỡ một kì báo thì sẽ khó có thể theo dõi tiếp sự việc mà mình đang quan tâm.
Trang 1TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT HÀN
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CHUYÊN ĐỀ NGÀNH LẬP TRÌNH MÁY TÍNH
Đà Nẵng, tháng 06 năm 2016
Trang 2LỜI CẢM ƠN
“Cơm cha áo mẹ chữ thầy”, câu nói từ xưa đã thấm nhuần vào tâm tư tình cảm
của mỗi người Việt Nam để nói lên công ơn nuôi dưỡng, dạy dỗ của cha mẹ, thầy cô.Trong thời gian học tập tại Trường Cao đẳng CNTT Hữu nghị Việt - Hàn, câu nói ấyngày càng in sâu vào tâm trí em
Trong quá trình thực hiện đồ án chuyên đề, tuy đã rất nỗ lực nhưng em nhậnthấy kiến thức và kinh nghiệm của bản thân còn rất hạn hẹp Để vượt lên những trởngại đó, cha mẹ luôn động viên, các thầy cô đã không quản ngại hướng dẫn, giúp đỡtận tình để em hoàn thành đồ án chuyên đề này
Nếu không có cha mẹ, không có thầy cô chắc chắn em sẽ không có được nhưngày hôm nay
Trước tiên, con xin thành kính cảm ơn cha mẹ đã cho con tất cả để con vữngbước trên con đường đời
Em xin gửi lời cảm ơn chân thành đến cô Trịnh Thị Ngọc Linh, đã tận tìnhhướng dẫn em hoàn thành đồ án tốt nghiệp này Em sẽ luôn trân trọng và gìn giữnhững tình cảm tốt đẹp ấy
Một lần nữa, em xin gửi lời cảm ơn đến tất cả các thầy cô Trường Cao đẳngCông nghệ Thông tin Hữu nghị Việt - Hàn đã giảng dạy, giúp đỡ em trong thời gianvừa qua
Đà Nẵng, tháng 06 năm 2016Sinh viên thực hiện
NGUYỄN SỸ MINH SANG
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 3
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4
1.1 TỔNG QUAN VỀ ĐỀ TÀI 4
1.1.1 Lý do chọn đề tài 4
1.1.2 Mục đích nghiên cứu 4
1.1.3 Đối tượng và phạm vi nghiên cứu 4
1.1.4 Phương pháp nghiên cứu 4
1.1.5 Ý nghĩa khoa học và thực tiễn của đề tài 5
1.1.6 Bố cục đề tài 5
1.2 PHÂN TÍCH YÊU CẦU 5
1.2.1 Yêu cầu hệ thống 5
1.2.2 Yêu cầu chức năng 5
1.2.3 Yêu cầu phi chức năng 6
1.3 TỔNG QUAN VỀ NGÔN NGỮ PHP VÀ HỆ QUẢN TRỊ DỮ LIỆU MYSQL 6
1.3.1 Giới thiệu về PHP 6
1.3.2 Hệ cơ sở dữ liệu MYSQL 16
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18
2.1 PHÂN TÍCH YÊU CẦU 18
2.1.1 Các đối tượng quản lí chính của hệ thống 18
2.1.2 Các đối tượng sử dụng của hệ thống 20
2.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21
2.2.1 Mô hình hóa chức năng 21
2.2.2 Mô hình hóa dữ liệu 27
2.2.3 Thiết kế cơ sở dữ liệu 31
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC 33
3.1 QUÁ TRÌNH XÂY DỰNG 33
3.1.1 Sơ đồ thuật toán: 33
3.1.2 Các hàm của hệ thống 37
3.2 KẾT QUẢ ĐẠT ĐƯỢC 42
3.2.1 Hình ảnh giao diện website 42
3.2.2 Một số hướng dẫn sử dụng website cơ bản: 42
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46
TÀI LIỆU THAM KHẢO 47
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN 48
Trang 4DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ hoạt động của PHP 7
Hình 2: Biểu đồ phân rã chức năng (BFD) 21
Hình 3: Biểu đồ mức ngữ cảnh 22
Hình 4: Biểu đồ luồng dữ liệu mức đỉnh (mức 0) 23
Hình 5: Biểu đồ luồng dữ liệu mức 1 của chức năng quản trị hệ thống 23
Hình 6: Biểu đồ luồng dữ liệu mức 1 của chức năng giao tiếp người dùng 24 Hình 7: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý tin tức 24
Hình 8: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý quảng cáo 24
Hình 9: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý bình luận 25
Hình 10: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý liên hệ 25
Hình 11: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý danh mục 25
Hình 12: Biểu đồ luồng dữ liệu mức 1 của chức năng quản lý tag 25
Hình 13: Biểu đồ luồng dữ liệu mức 1 của chức năng quản quản trị viên 26
Hình 14: Biểu đồ luồng dữ liệu mức 1 của chức năng xem tin tức 26
Hình 15: Biểu đồ luồng dữ liệu mức 1 của chức năng liên hệ 26
Hình 16: Biểu đồ luồng dữ liệu mức 1 của chức năng bình luận 27
Hình 17: Biểu đồ quan hệ thực thể (ERD) 27
Hình 17: Mô hình dữ liệu quan hệ (RDM) 29
Hình 19: Thiết kế cơ sở dữ liệu 32
Hình 20: Chức năng đăng nhập 33
Hình 21: Chức năng đăng xuất 34
Hình 22: Chức năng mở, khóa tài khoản 35
Hình 23: Chức năng sửa quản trị viên 36
Hình 24: Chức năng thêm quản trị viên 37
Hình 24: Hình ảnh giao diện website 42
Hình 25: Trang đăng nhập admin 42
Hình 26: Xem tất cả các tin đã đăng 43
Hình 27: Thêm tin mới 43
Hình 28: Thêm danh mục và xem tất cả danh mục 43
Hình 29: Quản lý quảng cáo, thêm quảng cáo 44
Hình 30: Danh sách bình luận 44
Hình 31: Danh sách liên hệ 44
Hình 32: Quản lý tag 45
Hình 33: Thêm admin và xem danh sách admin 45
Trang 5CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 TỔNG QUAN VỀ ĐỀ TÀI
1.1.1 Lý do chọn đề tài
Trong cuộc sống việc cập nhật tin tức hàng ngày là không thể thiếu Có nhiều cáchcập nhật tin tức khác nhau như qua ti vi, đài, báo hay qua truyền miệng người này vớingười kia tuy nhiên nó không được tiên lợi Đối với tivi hay đài thì việc cập nhật tintức không được chủ động, còn đối với báo thì chúng ta phải ra những cửa hàng bánbáo để mua vừa mất công lại tốn phí Còn chưa kể những lúc không may bỏ lỡ một kìbáo thì sẽ khó có thể theo dõi tiếp sự việc mà mình đang quan tâm
Chính vì thế em quyết định xây dựng một website tin tức để mọi người có thể cậpnhật tin tức một cách nhanh nhất và tiện lợi nhất chỉ với những thao tác đơn giản Chỉcần một chiếc điện thoại nhỏ gọn trên tay bạn có thể cập nhật tin tức mọi lúc mọi nơi
mà không phải tốn công cũng như tốn phí Bên cạnh đó thì tin tức sẽ được cập nhậtthường xuyên liên tục trong một ngày chứ không phải ra từng số như báo in Ngoài rawebsite của em còn tạo sự chủ động cho bạn khi bạn chỉ muốn xem và đọc những tintức, vấn đề mà bạn quan tâm Cùng với sự chủ động cho người dùng thì website nàycòn có hệ thống bình luận, tương tác để bạn có thể bày tỏ về cảm xúc của mình khibức xúc hay có ý kiến trước một vấn đề mà bạn quan tâm
1.1.2 Mục đích nghiên cứu
- Vận dụng tổng hợp những kiến thức đã học để tiến hành xây dựng Website tin tức
- Khai phá lợi ích của Internet để cung cấp thông tin, diễn biến trên toàn cầu nhanh,chính xác nhất
1.1.3 Đối tượng và phạm vi nghiên cứu
- Tìm hiểu về ngôn ngữ PHP và hệ quản trị dữ liệu MYSQL
- Tìm hiểu một số công cụ và ngôn ngữ hỗ trợ quá trình xây dựng Website
- Các chức năng của Website tin tức
- Quy trình xây dựng Website tin tức
- Một số kỹ thuật trong Website tin tức
1.1.4 Phương pháp nghiên cứu
- Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến đề tài đểhình thành nên những ý tưởng tổng quan (mục đích cần đạt đến của Website, đối
Trang 6tượng cần hướng đến là ai?, thông tin gì đã có trong tay và sử dụng chúng như thếnào?).
- Xác định các yêu cầu nhằm phân tích thiết kế hệ thống chương trình cho phù hợp
- Xây dựng chương trình theo những yêu cầu đã đặt ra
- Triển khai chương trình và đánh giá kết quả đạt được
1.1.5 Ý nghĩa khoa học và thực tiễn của đề tài
- Thông qua Website, người dùng có thể có được thông tin mới nhất hoặc thời sựnhất một cách đơn giản
- Tối ưu chi phí, tiết kiệm thời gian
1.1.6 Bố cục đề tài
Nội dung đồ án gồm các thành phần sau:
Mở đầu
- Chương 1 Cơ sở lý thuyết
- Chương 2 Phân tích và thiết kế hệ thống
- Chương 3 Xây dựng chương trình và kết quả đạt được
Kết luận và hướng phát triển
1.2 PHÂN TÍCH YÊU CẦU
1.2.1 Yêu cầu hệ thống
- Ngôn ngữ lập trình PHP
- Hệ quản trị cơ sỡ dữ liệu MYSQL
1.2.2 Yêu cầu chức năng
• Chức năng đăng tin tức:
- Trình bày thông tin, hình ảnh, phù hợp với nhu cầu của người đọc
- Tìm kiếm nhanh các tin tức nóng hổi, các sự kiện, các tin đăng
- Có thể kiểm tra tính hợp lệ của bài đăng
- Cho phép đăng, chỉnh sửa, hoặc xóa bài theo mong muốn
- Cho phép đăng quảng cáo
• Chức năng quản lý:
- Quản lý tất cả các thông tin của website như bài đăng, quảng cáo
Trang 7- Có thể kiểm tra tính hợp lệ của bài cần đăng
- Cho phép đăng hoặc xóa bài có nội dung không phù hợp
1.2.3 Yêu cầu phi chức năng
- Giao diện thân thiện dễ sử dụng
- Dữ liệu được đảm bảo chính xác về các tin tức được đăng lên
- Load dữ liệu nhanh
- Hỗ trợ tốt nhất có thể cho việc quảng cáo của khách hàng
1.3 TỔNG QUAN VỀ NGÔN NGỮ PHP VÀ HỆ QUẢN TRỊ DỮ LIỆU
MYSQL
1.3.1 Giới thiệu về PHP
PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm
1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụngtrong môi trường chuyên nghiệp và nó trở thành “PHP:Hypertext Preprocessor”
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một côngnghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform).Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nóiđến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì 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 trên các hệ điều hành nhưWindows, Unix và nhiều biến thể của nó Đặc biệt các mã kịch bản PHP viết trênmáy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửahoặc chỉnh sửa rất ít
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cảcác quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữHTML
Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó saukhi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới mộtURL)
- Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc
dù cấu hình và tính năng khác nhau nhưng chúng vẵn đưa ra những kết quả giốngnhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP, Java, Perl và
Trang 8một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những
lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giảiphá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 linh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính
vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến
nó, nâng cao để khắc phục các lỗi trong các chương trình này
PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lậptrình viên chuyên nghiệp, mọi ý tuởng của các bạn PHP có thể đáp ứng một cách xuấtsắc
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy
mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website
- Giới thiệu về ngôn ngữ PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ
để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt
Sơ đồ hoạt động:
Hình 1: Sơ đồ hoạt động của PHP.
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử
lí chúng theo các hướng dẫn được mã hóa Mã lệnh PHP yêu cầu máy chủ gửi một dữ
Trang 9liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem nó như là mộttrang HTML têu chuẩn Như ta đã nói, PHP cũng chính là một trang HTML nhưng cónhúng mã PHP và có phần mở rộng là HTML Phần mở của PHP được đặt trong thẻ
mở <?php và thẻ đóng ?>
Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội dung file PHP lên
và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận được củađoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng Server trả
về kết quả cuối cùng là một trang nội dung HTML về cho trình duyệt
- Các loại thẻ PHP
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
• Kiểu Short:Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Trang 10PHP và HTML là các ngôn ngữ không “nhạy cảm“ với khoảng trắng, khoảng trắng
có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn Chỉ có khoảng trắng đơn
có ảnh hưởng đến sự thể hiện của trang Web (nhiều khoảng trắng liên tiếp sẽ chỉ thểhiện dưới dạng một khoảng trắng đơn)
Trang 11• Một số biến đã được khai báo sẵn:
HTTP_GET_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương
thức HTTP GET Chỉ có tác dụng nếu “track_vars” Trong cấu hình được đặt hoặc chỉ
dẫn <? Php_track_vars?>
HTTP_POST_VARS: Mảng các giá trị nguyên truyền tới script thông qua phương thức HTTP POST
HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới script hiện tại bằng
HTTP cookie Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc chỉ dẫn
Khi có khai báo global, $a và $b được biết đó là những biến toàn cục Nếu không
có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm Sum()
- Các giá trị bên ngoài phạm vi PHP:
HTML Form: Khi 1 giá trị gắn với 1 file php qua phương thức POST
Ví dụ:
<form action = “top php” method= “post”>
Name: < input type = “text” name = “name” ><BR>
<input type = “Submit”>
</form>
Trang 12PHP sẽ tạo 1 biến $ name bao gồm mọi giá trị trong trường Name của Form.
PHP có thể hiểu được một mảng một chiều gồm các giá trị trong một Form
Vì vậy, bạn có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tínhnày để nhận các giá trị từ 1 đầu vào tuỳ chọn
Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn:
_FILE_: Tên của script file đang thực hiện
_LINE_: Số dòng của mã script đang được thực hiện trong script file hiện tại
_PHP_VERSION_: version của PHP đang chạy
TRUE
FALSE
E_ERROR: Báo hiệu có lỗi
E_PARSE: Báo lỗi sai khi biên dịch
E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không
Các lệnh điều kiện và toán tử:
Mỗi câu lệnh điều kiện bao gồm một mệnh đề if:
If(điều kiện){
//thực hiện một điều gì đó
Trang 13Điều kiện này có thể được mở rộng thành:
If(điều kiện){
//thực hiện một điều gì đó} else {
//thực hiện một điều khác}
Và:
If(điều kiện 1){
//thực hiện một điều gì đó} elseif(điều kiện 2) {
//thực hiện một điều khác}else {
//thực hiện một điều khác nữa}
Các toán tử thường được sử dụng với câu lệnh điều kiện :
<= Nhỏ hơn hoặc bằng So sánh $x<=$y
>= Lớn hơn hoặc bằng So sánh $x>=$y
Switch($variable){
Case ‘giá trị 1’:
Trang 14o Condition:Biểu thức điều kiện, biến,
o Expression:Khối lệnh trong vòng lặp while
Vòng lặp For:
For(expression1;condition;expression2){
expression3;
}Trong đó:
o Condition: điều kiện giới hạn của vòng lặp for
o Expression1: Giá trị khởi đầu của vòng lặp for
o Expression2: Giá trị lặp của vòng lặp for
o Expression3: Khối lệnh bên trong của vòng lặp for
•Vòng lặp do while
Trang 15Do{ expression }while(condition)Trong đó:
Expression: khối lệnh bên trong vòng lặp do whileCondition: biểu thức điều kiện, biến
Trong đó: Biểu thức điều kiện, biến
Expression: Khối lệnh bên trong vòng lặp while
Exit:Thoát khỏi các vòng lặp hay phát biểu điều khiển nào đó
}
• Tham biến:
Function add_some_extra (&$string)
{$string =’and something extra’; }
• Tham số có giá trị mặc định
Function makecoffee($type = “cappucino”)
{ Return “Making a cup of $type \n”; }
Trang 16Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽphải nằm về phía phải nhất trong danh sách đối số
• Giá trị trả lại của hàm:
Có thể là bất kỳ giá trị nào Tuy vậy, không thể trả lại nhiều giá trị riêng
lẻ nhưng có thể trả lại một mảng các giá trị
• Hàm biến
PHP cho phép sử dụng hàm giá trị nghĩa là khi một biến được gọi cókèm theo dấu ngoặc đơn, PHP sẽ tìm hàm có cùng tên với giá trị biến đóthực hiện
- Các toán tử:
Các phép số học: +, -, *, /%
Các toán tử logic: And, or, xor: &&, ||, !
Toán tử thao tác với bít: &, |, ^, ~, <<, >>
Toán tử so sánh: ==, !=, <, >, <=, >=, ===
Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức sẽ
bị bỏ qua và lưu trong $PHP_errormsg
Toán tử thực thi: “PHP sẽ thực hiện nội dung nằm giữa 2 dấu “ như 1 lệnh shell.Trả ra giá trị là kết quả thực hiện lệnh
?>
Lớp Cart ở đây là một kiểu dữ liệu
- Tham chiếu:
Trang 17Tham chiếu trong PHP có nghĩa là lấy cùng giá trị bằng nhiều tên biến khác nhau.Khác với con trỏ C, tham chiếu là một bảng các bí danh Chú ý: Trong PHP, tên biến
và nội dung của các biến khác nhau Vì vậy, cùng một nội dung có thể có nhiều tênkhác nhau
Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung
Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo mộthàm cục bộ và truyền giá trị được tham chiếu
Giá trị trả lại của một hàm bằng tham chiếu rất tiện lợi khi bạn muốn sử dụng hàm
để tìm 1 giá trị trong một phạm vi nào đó
- MySQL và PHP:
Để connect tới 1 CSDL trên MySQL Server rất đơn giản Chỉ cần sử dụnghàm:mysql_connect (host, user, password) để mở 1 kết nối tới MSQL Server với kếtquả là giá trị trả về của hàm (Giả sử là biến $dbname) Sau đó, dùng hàmmysql_select_db(dbname, $link)
Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link) Giá trị trảlại của hàm là kết quả của câu truy vấn Nếu bỏ qua link thì kết nối cuối cùng tớiMySQL server sẽ được thực hiện
Để lấy kết quả thực hiện, ta có thể dùng hàm mysql_result(), mysql_fetch_row(),mysql_fetch_array(), mysql_fetch_object()
o Mysql_fetch_row():Trả về một mảng các dữ liệu lấy từ 1 dòng trong CSDL.Nếu đã ở cuối CSDL, giá trị trả về là false Bạn phải dùng chỉ số của cáctrường trong CSDL nếu muốn lấy dữ liệu
o Mysql_fetch_array(int result[, int result_type]): Trả về một mảng chứa dữliệu lấy từ một dòng trong CSDL Tương tự như mysql_fetch_row() nhưngbạn có thể lấy thêm trường để lấy dữ liệu
o Mysql_fetch_object: Chuyển kết quả thành một đối tượng với các trường làcác trường trong cơ sở dữ liệu
1.3.2 Hệ cơ sở dữ liệu MYSQL
- Giới thiệu cơ sở dữ liệu:
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theowww mysql com) và được sử dụng phối hợp với PHP Trước khi làm việc vớiMySQL cần xác định các nhu cầu cho ứng dụng
Trang 18MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phépngười sử dụng có thể thao tác các hành động liên quan đến nó Việc tìm hiểu từngcông nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai côngnghệ PHP và MySQL là một công việc cần thiết và rất quan trọng
- Mục đích sử dụng cơ sở dữ liệu:
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage),truy cập (accessibility), tổ chức (organization) và xử lí (manipulation)
• Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang
cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữliệu nhỏ như:Microsoft Exel, Microsoft Access, MySQL, Microsoft VisualFoxPro, Nếu ứng dụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy
mô lớn như :Oracle, SQL Server,
• Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sửdụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữliệu với nhau, nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng
do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần cócác phương thức truy cập dữ liệu giữa các cơ sở dử liệu với nhau như:MicrosoftAccess với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle
• Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mo hình cơ sở dữ liệu, phân tích
và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểmriêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuântheo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nnhằm tăng tính tối ưu khitruy cập và xử lí
• Xử lí: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với cácmục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phéptoán, phát biểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao táchay xử lí dữ liệu bên trong chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lậptrình như:PHP, C++, Java, Visual Basic,
Trang 19CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 PHÂN TÍCH YÊU CẦU
2.1.1 Các đối tượng quản lí chính của hệ thống
- DANH MỤC Các thông tin quản lí bao gồm:
Trang 21+ Đăng nhập và đăng xuất tới hệ thống quản trị
+ Thêm, khóa, sửa các quản trị viên phụ
+ Thêm, xóa, sửa, liệt kê các danh mục và tin tức
+ Xem , xóa, duyệt, bình luận, liên hệ
- Quản trị viên phụ có quyền đăng nhập và đăng xuất tới hệ thống quản trị
+ Thêm, sửa, xóa, liệt kê danh mục và tin tức do quản trị viên phụ này thêm+ Xem, xóa, duyệt, bình luận liên hệ
Trang 222.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.2.1 Mô hình hóa chức năng
- Biểu đồ phân rã chức năng (BFD):
Hình 2: Biểu đồ phân rã chức năng (BFD).
Trang 23- Biểu đồ mức ngữ cảnh:
Hình 3: Biểu đồ mức ngữ cảnh.
- Biểu đồ luồng dữ liệu mức đỉnh (mức 0):
Trang 24Hình 4: Biểu đồ luồng dữ liệu mức đỉnh (mức 0).
- Biểu đồ luồng dữ liệu mức 1 của chức năng quản trị hệ thống:
Hình 5: Biểu đồ luồng dữ liệu mức 1 của chức năng quản trị hệ thống.