Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng, chỉ cần có một máy tính kết nối Internet và một dòng dữ liệu truy tìm thì gần như lập tức cả thế giới về
Trang 1Trờng đại học vinh Khoa công nghệ thông tin
- -đồ án tốt nghiệp
Đề tài
website tin tức hội nhập 24h
Giáo viên hớng dẫn: TS Phan Lê Na
Sinh viên thực hiện : Phạm Đình Nam
Lớp : 46E2 - CNTT
Phạm Đình Nam – lớp 46E2 CNTT 1
Trang 2bè đã giúp đỡ em trong suốt quá trình thực hiện đồ án.
Mặc dù em đã rất cố gắng, nhưng trong khoảng thời gian cho phép cũng như những hạn chế về kiến thức nên đề tài này của em không thể tránh khỏi những thiếu sót Chính vì vậy, em rất mong nhận được sự góp ý của các thầy cô giáo và bạn bè.
Trang 3PHẦN 1 TỔNG QUAN ĐỀ TÀI
1.1 Tổng quan về đề tài
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện
tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng, chỉ cần có một máy tính kết nối Internet và một dòng dữ liệu truy tìm thì gần như lập tức cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu ta cần…
Bằng Internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đã thúc đẩy sự khai sinh và phát triển Internet trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người
Trang 4Trong xu thế phát triển của thời đại thì cần phải nắm bắt mọi thông tin một cách nhanh chóng trên tất cả mọi hoạt động trong và ngoài nước Giờ đây xây dựng website tin tức đã đóng vai trò quan trọng thúc đẩy sự phát triển của đất nước Internet ra đời mang đến cho chúng ta nhiều hơn cơ hội
để tìm hiểu về những vùng miền trên thế giới Khi nhắc đến Internet thì mọi người chú ý nhiều nhất đến webside, website mang đến cho chúng ta một kho tàng tri thức khổng lồ Nó là nơi trao đổi thông tin một cách hiện đại, vừa đa dạng, vừa phong phú, và nhanh chóng Đối với website tin tức việc cung cấp các thông tin mới mẻ cho độc giả như giáo dục, y tế, khoa học, pháp luật …là yếu tố mang tính quết định đưa đến cho người đọc biết thêm nhiều thông tin trên khắp mọi miền trên thế giới Ngoài ra nó con hỗ trợ cho các doanh nghiệp quảng cáo thông tin sản phẩm đến với tất cả mọi người một cách nhanh chóng
Với đề tài này, tôi xin được trình bày một cách thức quản lý website giúp cho những người quản trị dễ dàng trong việc quản lý, thay đổi, cập nhật thông tin trang website của mình
1.2 Ngôn ngữ xây dựng Website
1.2.1 Giới thiệu cấu trúc file HTML và các thẻ
- Khái niệm
HTML (Hyper Text Markup Language - Ngôn ngữ đánh dấu siêu văn bản) là một sự định dạng để báo cho trình duyệt Website (Web browser) biết cách để hiển thị một trang Website
Các trang Website thực ra không có gì khác ngoài văn bản cùng với các thẻ (tag) HTML được sắp xếp đúng cách hoặc các đoạn mã để trình duyệt Website biết cách để thông dịch và hiển thị chúng lên trên màn hình
- Cấu trúc của một file HTML
Trang 5+ Thẻ <Style>
Trang 6Thẻ <style> cho phép bạn định dạng tất cả nội dung trình bày trên trang Web theo một kiểu nhất định Thẻ <style> được khai báo trong thẻ
<head>, và khi khai báo các thẻ trong trang Website, bạn có thể khai báo sử dụng một phần tử trong thẻ <style> bằng tham số class
Khai báo thẻ như sau:
+ Cấu trúc của thẻ <Script> với Javascript
Cấu trúc của một <script> trong một trang Website được mô tả như sau:
<scipt language=javascript>
//khai báo biến
function functionname (tham số)
{ //Khai báo biến
//Câu lệnh
Trang 7//Phát biểu có điều kiện}
ra kết quả ngôn ngữ HTML
Cũng giống như hầu hết các ngôn ngữ lập trình khác PHP có thể nối trực tiếp với HTML Mã PHP tách biệt với HTML bằng các thực thể đầu và cuối Khi một tài liệu được đưa ra phân tích, quá trình xử lý PHP được thực hiện ở những điểm quan trọng, sau đó đưa ra kết quả
Trang 8Thương mại điện tử ngày càng phát triển trên thế giới nói chung và Việt Nam nói riêng, sự ra đời của các ngôn ngữ lập trình cho phép chúng ta thiết kế và xây dựng những ứng dụng thương mại điện tử dưới các hình thức khác nhau PHP và cơ sở dữ liệu MySQL không nằm ngoài mục đích dùng
để xây dựng ứng dụng thương mại điện tử
Các nhà lập trình chuyên nghiệp cũng như không chuyên nghiệp có rất nhiều sự lựa ngôn ngữ lập trình như: ASP, Perl, Java và một số loại khác Trong mỗi ngôn ngữ lập trình này đều có cấu hình và tính năng khác nhau thì chúng vẫn đưa ra một số kết quả giống nhau
Chúng ta chọn PHP vì đây là sự lôi cuốn mạnh mẽ nhất Bởi nó thiết
kế trong các ứng dụng Website, có nhiều tính năng đáp ứng những nhu cầu chung nhất PHP là một mã nguồn mở, bởi vì mã nguồn của PHP sẵn có nên cộng đồng các nhà phát triển Website 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 rất ổn định và tổng hợp, PHP đã vận hành khá ổn định trên các
hệ điều hành Unix, Windows đồng thời nó cũng nối với các máy chủ như IIS, Apache PHP là một ngôn ngữ dễ học Nếu chúng ta làm việc quen với ngôn ngữ C hay Pascal thì một số tính năng giống các loại đó
+ Các loại thẻ PHP
Có 4 loại khác nhau của thẻ PHP có thể sử dụng khi thiết kế trang PHP
Kiểu Short: Đây là thẻ mặc định mà các nhà lập trình PHP thường sử
dụng.
Ví dụ:
<? Echo “Chào mừng đến với ngôn ngữ PHP.” ;?>
Trang 9 Kiểu định dạng XML: Thẻ này có thể sử dụng với văn bản định dạng
XML
Ví dụ:
<? Php echo“Chào mừng đến với PHP kết hợp với XML\n”;?>
Kiểu Script: Trong trường hợp ta sử dụng PHP như một script tương
tự khai báo JavaScipt hay VBScript.
Ví dụ:
<script language= ‘php’ >
echo “PHP Script”;
</script>
Kiểu ASP: Trong trường hợp khai báo thẻ PHP như một phần trong
trang ASP Thẻ này được sử dụng khi ta cho phép chúng bằng cách cấu hình (asp_tag) trong tập tin config.
có tác dụng nếu Asp_tag được đặt trong file cấu hình của PHP PHP cho phép hỗ trợ các kiểu chú thích của cả C, C++ và Unix shell
- Cơ sở dữ liệu MySQL
+ Giới thiệu
Trang 10MySQL là cơ sở dữ liệu được dùng trong chương trình MySQL là cơ
sở dữ có trình giao diện trên Windows hay Linux, cho phép người sử dụng
có thể thao tác các hành động liên quan đến cơ sở dữ liệu
Cũng giống như các hệ cơ sở dữ liệu khác, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng bảng của cơ sở dữ liệu và xử lý dữ liệu
Để sử dụng các phát biểu hay các thao tác trên cơ sở dữ liệu, bạn có thể sử dụng trình quản lý dạng đồ hoạ hay dùng dòng lệnh còn gọi là Command line
Để kết nối (connect) tới một cơ sở dữ liệu trên MySQL server rất đơn giản Chỉ cần dùng hàm mysql_connect (host, user, password) để mở một kết nối tới MySQL server với kết quả là giá trị trả về hàm (Giả sử là biến
$db) Sau đó dùng hàm mysql_select_db (database_name, link_id) để chọn
cơ sở dữ liệu ta muốn kết nối
Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query (query, link_ID) 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_id thì kết nối cuối cùng tới Mysql server sẽ được thực hiện
Ngoài cách dùng hàm mysql_result() để lấy kết quả thực hiện, ta có thể dùng các hàm khác: mysql_fetch_row(), mysql_fetch_array() and mysql_fetch_object()
+ Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
Loại dữ liệu numeric
Kiểu số chấm động
float: Phụ thuộc số thập phân (Số thập phân dạng single hay double)
float(M,D): Số thập phân dạng single
Trang 11 double(M,D): Số thập phân dạng double
float(M[,D]): Số chấm động lưu dưới dạng char
Kiểu dữ liệu numeric bao gồm kiểu số nguyên
Loại dữ liệu Date and Time
Kiểu dữ liệu Date and Time cho phép ta nhập dữ liệu dưới dạng chuỗi ngày tháng hay dạng số
Date: Cho phép trình bày dưới dạng yyyy- mm - dd
Time: Trình bày dưới dạng hh:mm:ss
DateTime: Date và time trình bày dưới dạng: yyyy- mm - dd hh:mm:ss
TimeStamp: TimeStamp trình bày dưới dạng yyyy- mm - dd hh:mm:ss
Year[(2,4)] :Year trình bày dưới dạng 2 số hay 4 số
Loại dữ liệu String
Kiểu dữ liệu string chia làm 3 loại, loại thứ nhất như char (chiều dài
cố định), và varchar (chiều dài biến thiên) Và kiểu Text
Char: Cho phép bạn nhập dữ liệu dới dạng chuỗi với chiều dài lớn nhất bằng chiều dài định nghĩa
Varchar: Chiều dài lớn nhất bằng chiều dài được định nghĩa cho field,
bộ nhớ chỉ lưu trữ chiều dài đúng với chiều dài chuỗi bạn đã nhập
Text hay Blob: Text cho phép lưu trữ chuỗi rất lớn Blob cho phép lưu đối tượng nhị phân
Trang 12Nhóm phát biểu SQL
Ngôn ngữ SQL chia làm 4 loại sau:
DDL (Data Definition Language): Ngôn ngữ định nghĩa dữ liệu, dùng
để tạo cơ sở dữ liệu, định nghĩa các đối tượng cơ sở dữ liệu như Table, Query, Views hay các đối tượng khác
DML ( Data Manipulation Language): Ngôn ngữ thao tác dữ liệu, dùng để thao tác dữ liệu, chẳng hạn như các phát biểu Select, Inert, Delete, Update,…
DCL ( Data Control Language): Ngôn ngữ sử dụng truy cập đối
tượng cơ sở dữ liệu, dùng để thay đổi cấu trúc, tạo người dùng, gán quyền chẳng hạn như:Alter, Grant, Revoke,…
TCL (Transnaction Control Language): Ngôn ngữ sử dụng để khai báo chuyển tác chẳng hạn như: Begin Tran, Rollback, Commit,…
Phát biểu SQL thao tác dữ liệu
Câu lệnh SELECT (Truy vấn mẩu tin )
Select <danh sách các trường>
[from <danh sách các bản ghi>]
[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 trường>]
[limit fromnumber /tonumber ]
Lệnh tạo bảng
Creat table <tên bảng> (Tên_cột kiểu_dữ_liệu[(kích_thớc)][Notnull]…
Trang 13.PrimaryKey (khoá_chính).[(Unique (khoá_dự_phòng),…]
.[foreign key (khoá_ngoài) reference tên_bảng,…]
.[check điều_kiện_ràng_buộc,…])
Lệnh xoá bảng
Drop table <tên_bảng>
Lệnh cập nhật dữ liệu
Insert into tên_bảng value (Bộ_giá_trị)
Lệnh xoá bản ghi trong bảng
Delete from tên_bảng Lệnh sửa đổi nội dung bản ghi
Update table tên_bảng set tên_cột=Biểu_thức where điều_kiện
Các hàm thông dụng trong MySQL
Hàm AVG : Trả về giá trị bình quân của một cột hay trường trong câu truy vấn, ví dụ như phát biểu sau :
Trang 14Hàm Count : Hàm trả về số lượng mẩu tin trong câu truy vấn trên bảng
Hàm UPPER: Hàm này chuyển đổi chuỗi sang kiểu chữ hoa
Hàm LOWER: Hàm này chuyển đổi chuỗi sang kiểu chữ thường
Hàm LEN: Hàm trả về chiều dài của xâu
Thủ tục LTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗiThủ tục RTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗi
Hàm LEFT: Hàm trả về chuỗi bên trái tính từ cuối cho đến vị trí nHàm RIGHT: Hàm trả về chuỗi bên phải tính từ cuối cho đến vị trí nHàm INSTR: Hàm trả về vị trí chuỗi bắt đầu từ chuỗi con trong chuỗi đang xét
Các hàm xử lý thời gian
Hàm CurDate(): Hàm trả về ngày, tháng, năm hiện hành của hệ thốngHàm CurTime(): Hàm trả về giờ, phút, giây hiện hành của hệ thống
Trang 15Hàm Period_Diff: Hàm trả về số ngày trong khoảng thời gian giữa hai ngày
Hàm Dayofmonth : Hàm trả về ngày thứ mấy trong tháng
Các hàm về toán học
Hàm SQRT: Hàm trả về căn bậc hai của một biểu thức
Hàm ROUND: Hàm trả về số làm tròn của một biểu thức
Phát biểu SQL dạng Select với AS
Khi cần phải thay đổi tên trường nào đó trong câu truy vấn Ta chỉ cần dùng phát biểu AS.AS cho phép ánh xạ tên cũ hay giá trị cha có tên thành phần (header)
Phát biểu SQL dạng Select với Limit N, M
Cho phép truy vấn chỉ một số mẩu tin tính từ vị trí n đến vị trí m trong bảng (Table) (Theo một tiêu chuẩn hay sắp xếp nào đó) Để làm điều này trong phát biểu SQL dạng SELECT ta dùng chỉ định tữ khoá LIMIT với số lượng mẩu tin lấy từ vị trí thứ n đến m
Phát biểu SQL dạng Select với DISTINCT
Trong trường hợp có một hay nhiều bảng kết nối với nhau, sẽ xảy ra trùng lặp nhiều mẩu tin nhưng ta chỉ cần lấy ra một mẩu tin trong tập mẩu tin trùng lặp
Nhập dữ liệu bằng phát biểu SQL dạng Insert
Khi cần thêm mẩu tin vào bảng trong cơ sở dữ liệu MySQL ta có thể sử dụng phát biểu insert ngay trên ứng dụng kết nối với MySQL
Phát biểu SQL dạng UPDATE
Trang 16Phát biểu SQL dạng UPDATE dùng để cập nhật lại dữ liệu đã tồn tại trong bảng Khi UPDATE dùng cập nhật dữ liệu cho một mẩu tin chỉ định nào đó thường mệnh đề này sử dụng chung với mệnh đề WHERE.
/*Nếu cập nhật giá trị cụ thể*/
update <tablename>
set <column>= <value >,[<column> = <value>]
[where <restrictive conditions>]
/*Nếu cập nhật giá trị là kết quả trả về từ phía phát biểu select trên một hay nhiều bảng khác*/
update <tablename>
set <column> = <select from tablename where…>
[where <restrictive conditions>]
Phát biểu SQL dạng JOIN
Khái niệm về mệnh đề Join
Trong hầu hết phát biểu select, phần lớn kết quả mà ta mong muốn lấy
về đều có liên quan đến một hoặc nhiều bảng khác nhau Trong trường hợp
Trang 17như vậy, khi truy vấn dữ liệu cần sử dụng mệnh đề Join để kết hợp dữ liệu trên hai hay nhiều bảng lại với nhau
Mệnh đề Inner Join
Phát biểu SQL dạng SELECT có sử dụng mệnh đề INNER JOIN thường dùng để kết hợp hai hay nhiều bảng dữ liệu lại với nhau Cú pháp như sau:
Select [select list]
select <column list>
Trang 18Ngược lại với phát biểu SQL dạng SELECT sử dụng mệnh đề LEFT JOIN Khi sử dụng RIGHT JOIN sẽ xuất dữ liệu của bảng bên phải cho dù
dữ liệu của bảng bên trái không tồn tại Cú pháp như sau:
select <column list>
2.1 Yêu cầu bài toán
Thiết kế trang Web tin tức được chia làm hai chức năng chính
- Chức năng người quản trị - Administrator
+ Thêm bớt và chỉnh sửa cơ sở dữ liệu
Trang 19+ Quản lý chuyên mục tin, tin tức website+ Quản lý hình ảnh quảng cáo
- Chức năng của người sử dụng - User
+ Liên hệ đến ban quản trị+ Tìm kiếm thông tin+ Ý kiến nhận xét trang về WebsiteWebsite giúp cho mọi người truy cập có thể thuận tiện nhất trong việc tìm và chọn các thông tin Người truy cập có thể chọn lựa các thông tin đã được phân loại
Phân loại theo thể loại tin tức sự kiện, tin giáo dục, tin y tế, và các tin tổng hợp khác nhau Khi bạn chọn một loại tin nào đó thì thông tin đó sẽ hiện ra chi tiết và kèm hình ảnh nếu có…
Đưa ra các chức năng tìm kiếm giúp cho người dùng có thể tìm kiếm nhanh hơn
2.2 Phân tích và thiết kế
- Biểu đồ phân cấp chức năng
Phạm Đình Nam – lớp 46E2 CNTT 19
HỆ THỐNG
Website
HOME PAGE
QUẢN LÝ CHUYÊN MỤC
QUẢN LÝ QUẢNG CÁO
QUẢN LÝ RAO VẶT
XỬ LÝ LIÊN HỆ
CẬP NHẬT QUẢNG CÁO
CẬP NHẬT CHUYÊN MỤC
SỬA, XÓA CHUYÊN MỤC
CẬP NHẬT TIN TỨC
SỬA, XÓA TIN TỨC
Trang 20- Biểu đồ luồng dữ liệu
QUẢN LÝ THĂM DÒ Ý KIẾN
QUẢN LÝ
LIÊN HỆ
ĐỔI MẬT KHÂU
ẢNH TRONG NGÀY
Trang 21+ Chức năng giới thiệu
QUẢN LÝ GIỞI THIỆU GIỚI THIỆU
GIỚI THIỆU
Trang 22+ Chức năng quản lý tin
+ Chức năng quản lý quảng cáo
QUẢN LÝ TIN
Trang 23+ Chức năng quản lý chuyên mục, loại tin
+ Quản lý rao vặt
Phạm Đình Nam – lớp 46E2 CNTT 23
QUẢN LÝ CHUYÊN MỤC LOẠI TIN
SỬA CHUYÊN MỤC, LOẠI TIN
CHUYÊN MỤC TIN
QUẢN LÝ RAO VẶT
ĐĂNG RAO VẶT
RAO VẶT ĐÃ ĐĂNG
RAO VẶT TỪ BẠN
ĐỌC