MỤC LỤC
LỜI MỞ ĐẦU ............................................................................................................................. 1
CHƯƠNG I: MỤC ĐÍCH CỦA ĐỀ TÀI ................................................................................... 2
1.1.Mục đích của đề tài : ................................................................................................... 2
1.2. Giới thiệu về công ty: .................................................................................................. 2
1.3.Yêu cầu về hướng phát triển trang web: ...................................................................... 2
1.3.1.Cách thức truy cập ................................................................................................. 2
1.3.2. Manage WebPage: Quản lý các trang thông tin của web site ............................. 3
1.3.3. Quản lý sản phẩm ................................................................................................. 5
CHƯƠNG 2: TÌM HIỂU VỀ NGÔN NGỮ KỊCH BẢN PHP, HỆ QUẢN TRỊ CƠ SỞ DỮ
LIỆU MYSQL, VÀ HỆ MÃ NGUỒN MỞ JOOMLA ............................................................ 12
1. Giới thiệu và sử dụng PHP ........................................................................................... 12
1.1 - Giới thiệu .............................................................................................................. 12
1.2 - Sử dụng PHP ........................................................................................................ 13
2. Giới thiệu MySQL ........................................................................................................ 21
2.1 - MySQL là gì? ....................................................................................................... 21
2.2 - Nơi cung cấp MySQL? ........................................................................................ 22
2.3 – Các kiểu dữ liệu trong cơ sở dữ liệu MySQL ..................................................... 22
2.4 – Phát biểu SQL ..................................................................................................... 24
3.Giới thiệu về Joomla ..................................................................................................... 25
3.1.Lịch sử .................................................................................................................... 26
3.3. Ứng dụng ............................................................................................................... 27
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG ................................................................................. 28
CHƯƠNG 4: THIẾT KẾ CƠ SỞ DỮ LIỆU .......................................................................... 32
CHƯƠNG 5 : GIAO DIỆN CHƯƠNG TRÌNH ...................................................................... 34
CHƯƠNG 6 : VIẾT CODE ...................................................................................................... 37
TÀI LIỆU THAM KHẢO ........................................................................................................ 59
LỜI MỞ ĐẦU
Ngày
trên thế
giớ
i
và
đã
xuấ
t
hiện
nhiều
trung
t
âm
thương
mạ
i
và
th
ị
trường
chứng
khoán
hộ
i
kinh
doanh
mớ
i
,
những sản
phẩm
và
d
ị
ch
vụ
mới,
những
ngành
nghề
kinh
thức
kinh
doanh
đ
i
ện
t
ử. Thương
mạ
i
đ
i
ện
t
ử
chuyển
hoá
các
chức
năng
hàng,
d
ị
ch
vụ
sau
bán
hàng
t
ừ
phương thức
kinh
doanh
truyền
thống
đến
phương
thức
ị
cơ
sở
dữ
li
ệu
MySQL, mã nguồn mở
joomla và ứng dụng để xây dựng 1 trang web thương mại điện tử . Bài báo cáo này hi
vọng sẽ nói được một phần nào về những việc trên.
Vì
thờ
i
gian
và
trình
độ
có
hạn
nên
giúp
đỡ
em.
1
CHƯƠNG I: MỤC ĐÍCH CỦA ĐỀ TÀI
1.1.Mục đích của đề tài :
Xây dựng trang web của công ty công nghệ cổ phần tương lai với địa chỉ là http://
www.nextjsc.com.vn thực hiện các chức năng chính mà công ty yêu cầu như giới
thiệu sản phẩm , giao dịch với khách hàng , trao đổi kinh nghiệm giữa các nhân viên
trong công ty …
1.2. Giới thiệu về công ty:
Tên:Công ty cổ phần công nghệ tương lai .
Lĩnh vực : Điện tữ viễn thông
Địa chỉ:
Tầng 2 & 3 , Nhà 3 tầng , số 2 , Chùa Bộc , Đống Đa , Hà Nội
1.3.Yêu cầu về hướng phát triển trang web:
1.3.1.Cách thức truy cập
- Mở Internet Exploer
- Đối với người quản trị :Trên Internet: Địa chỉ Website www.nextjsc.com.vn/
administrator
o User Name:
o Password:
Màn hình sau khi đăng nhập thành công
2
1.3.2. Manage WebPage: Quản lý các trang thông tin của web site
- Trang quản lý WebPage đưa ra thông tin về những trang web hiện có:
o Page Name: Tên của trang web
+ n: là số sản phẩm có trong chủng loại đó ( có trong category ).
Ví dụ: trong dòng sản phẩm
- Banner: Ảnh đại diện cho chủng loại này.
- Name: Tên của chủng loại
- Description: Mô tả của chủng loại
- Parrent Category: Chủng loại này có là một chủng loại con của chủng loại
nào không
b) Quản lý sản phẩm
- Khi click vào mục product của từng chủng loại, chương trình sẽ hiển thị toàn bộ sản
phẩm thuộc chủng loại đó.
5
- Thông tin bao gồm:
o Ảnh sản phẩm
o Tên sản phẩm
o Giá
o Số lượt truy cập
o Số lượng đặt hàng
- Để xóa sản phẩm, chọn check rồi click nút delete
- Để thêm mới sản phẩm click vào Add Product
Để chỉnh sửa thông tin 1 sản phẩm click vào ảnh hoặc tên sản phẩm
6
- Thông tin về sản phẩm gồm:
o Image: Ảnh sản phẩm
o Name: Tên sản phẩm
o Descriptions: Mô tả ngắn gọn sản phẩm
o Full Descriptions: Mô tả đầy đủ
o Price: Giá sản phẩm default để là 0
o Supplier: Nhà cung cấp sản phẩm
o Is Spesical: Có là sản phẩm đặc biệt hay không
o Category: Thuộc chủng loại nào
- Nguồn: nguồn tin tức này lấy từ đâu.
10
- Short Desc: Mô tả ngắn gọn tin tức
- Content: Mô tả đầy đủ tin tức
- Sau đó thi kích chuột chon Submit
3.Chỉnh sửa nội dung tin tức.
Muốn chỉnh sửa nội dung tin tức thì kích chuột vào tin mình cần chỉnh sửa
VD: Bạn muốn chỉnh sửa nội dung tin tức “Dự án khu phố chợ Phủ - Bình Giang”
- Sau khi kich chuột vảo tin “Dự án khu phố chợ Phủ - Bình Giang” thì màn
hình sẽ hiện ra một bảng như sau.
Trong đó : - Browse: đương dẫn ảnh
- Atived: ẩn hay hiện tin này nên trang web hay ko
- Subject: Tiêu đề tin tức
- ImageDescription: Nguồn ảnh
- Nguồn: thông tin này bạn lấy ở đâu
- Short Desc: Mô tả ngắn gọn tin tức
- Content: Mô tả chi tiết tin tức
11
Có thể tùy y sửa tất cả các mục ở trên hoặc một mục mà mình nuốn chỉnh sủa sau đó
ấn vào nut “Submit”
CHƯƠNG 2: TÌM HIỂU VỀ NGÔN NGỮ KỊCH BẢN PHP, HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU MYSQL, VÀ HỆ MÃ NGUỒN MỞ JOOMLA
1. Giới thiệu và sử dụng PHP
1.1
-
Giớ
i
thiệu
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
thẻ
l
ệnh
trong
file
HTML
bằng
các
đoạn
mã
l
ệnh
viế
t
bằng
C.
Ngôn
ngữ 10/2000 03/2002 Tỉ
lệ
viế
t t
ừ
Hypertext
Preprocessor,
đây
là
mộ
t
ngôn
ngữ
k
ị
ch
bản
mã
nguồn
mở
có
thể
nhúng
vào
HTML.
Hiện
nay
được
sử
dụng
rấ
t
rộng
rãi.
Mã
PHP
có
chứa
mộ
t
đoạn
mã
PHP
thì
tr
ì
nh
duyệ
t
nhận
được
trangkế
t
quả
đã
Mã
PHP
được
bao
trong
cặp
dấu
<?php
?>
hoặc
<?
?>.
Tập
tin
PHP
có phần
dùng
cho
trang
HTML.
Đ
i
ểm đặc
biệ
t
là
PHP
được
phát
triển
hoàn
toàn
cho
so
vớ
i
VBScript
hay
JSP.
Đây
cũng chính
là
đ
i
ểm
12
mạnh
của
PHP
so
vớ
có
thể giao
ti
ếp
vớ
i
nhiều
hệ
CSDL
như
MySQL,
MS
Access,
Sybase,
Oracle
và
cả Microsof
t
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
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
MySQL,
bạn
sẽ
có
máy chủ
có
thể
phục
vụ
được
nhiều
ứng
dụng
web
t
ương
t
các
phần
mềm.
PHP
được
xem
là
mộ
t
thay
thế
cho
Perl.
PHP
không
thể
l
và
dễ
dùng.
Nhiều
nhà
phá
t
triển
dùng
kế
t
hợp
cả
hai
:
Perl
dùng
cho
của
Active
State
Corp
là
công
cụ
miễn
ph
í
dùng
để
phát
t
riển
trang
PHP.
1.2
Shor
t:
là
thẻ
mặc
định
mà
các
nhà
l
ập
tr
ì
nh
PHP
thường
sử
dụng.
<?
dụng
vớ
i
văn
bản
dạng
XML.
<?php
echo
“Đây
là
kiểu
định
dạng
vớ
i
XML”;
?>
như
khai
báo
Javascript
hay
VBScript
<script
language
=
‘php’>
echo
“PHP
script”;
</script>
13
- Kiểu
ASP
:
<%
i
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ế
hàm
date()
<?
echo
“Hôm
nay
là:
”.date(“d
/
m/Y”)
;
?>
c)
Truy
cập
biến
Form
Thông
thường
trang
web
nhằm
ràng
buộc
t
ấ
t
cả
các
thẻ
input,
selec,
textarea...
Dữ
li
ệu
đến
t
dụng
dấu
$
trước
tên
biến.
Có
hai
cách
để
truy
cập
dữ
li
ệu
trên
form
theo
dạng
GET:
$_GET[‘tên_thẻ’]
d)
Khai
báo
biến:
PHP
Engine
không
cần
yêu
cầu
khai
i t
ạo
giá
tr
ị
ban
đầu
cho
biến
trước
khi
sử
dụng
chúng.
e)
Gán
giá
tr
đó,
biến
này
được
coi
như
vừa
kha
i
báo
và
khở
i t
ạo.
Trong
trường
hợp
biến
y*$price
;
echo
“Total
:
$total”;
?>
f)
Kiểu
dữ
li
ệu
của
biến
trong
PHP
PHP
hỗ
trợ
5
là
số.
- Double:
Sử
dụng
hầu
hế
t
cho
giá
tr
ị
có
kiểu
dữ
li
ệu
là
số
ký
t
ự.
- Array
:
Sử
dụng
hầu
hế
t
cho
giá
tr
ị
có
kiểu
dữ
li
ệu
là
mảng
tr
ị
có
kiểu
dữ
li
ệu
là
đố
i t
ượng
của
l
ớp.
g)
Toán
tử
trong
PHP
*
Các
phép
toán
gán
kế
t
hợp
Toán
t
ử Sử
dụng Tương
t
ự
+= $a+=$b $a=$a
+
$b;
++ $a++ $a=$a
+
1;
-= $a-=$b $a=$a
toán
phủ
định
&& AND $a &&
$b
Trả
về
true
nếu
cả
ha
i
biến
có
giá
tr
ị
true.
Ngược
l
có
giá
tr
ị
true
and AND $a and
$b
Trả
về
true
nếu
cả
ha
i
biến
có
giá
tr
ị
true.
biến
có
giá
tr
ị
true
*
Các
phép
toán
so
sánh
Phép
toán Sử
dụng Ý
ngh
ĩ
a
cùng
kiểu
dữ
li
ệu
vớ
i
$b
!= $a!=$b $a
không
bằng
$b
<> $a<>$b $a
không
bằng
$b
< $a<$b $a
nhỏ
hơn
$b
h)
Kiểm
tra
biến
trong
PHP
-
is_array():
Kiểm
tra
biến
là
array
hay
không.
-
hay
không.
-
is_real():
Kiểm
tra
biến
là
real
hay
không.
-
is_long()
:
Kiểm
t
ra
biến
ra
biến
là
in
t
eger
hay
không.
-
is_string():
Kiểm
tra
biến
là
str
i
ng
hay
ạ
i
hàm
trả
về
giá
tr
ị t
rue,
ngược
l
ạ
i
trả
về
false.
-
emp
t
y()
:
Cho
về
true,
ngược
l
ạ
i l
à
false.
Để
sử
dụng
t
ấ
t
cả
các
hàm
trên,
cần
phả
khiển
- Phát
biểu
If
:
Phát
biểu
i
f
vớ
i
mộ
t
đ
i
ều
kiện,
nếu
đ
i
ều
kiện
được
kha
i
báo
trong
dấu
() VD:
$a
=
10;
$b=6;
i
f($a>$b)
echo
$a+$b;
Khố
i l
ệnh
trong
bấ
Có
ngh
ĩ
a
là
nếu
khố
i l
ệnh
trong
phát
biểu
l
ớn
hơn
1
t
hì
phả
i
i
của
phá
t
biểu
i
f
vớ
i
mộ
t
đ
i
ều
kiện,
nếu
đ
i
ều
kiện
là
t
rue
trong
phát
biểu
else
sẽ
được
thực
hiện.
VD:
$a
=
10;
$b=6;
i
f($a>$b)
echo
$a+$b;
else
$b=$a+1;
Tương
khiển
else
có
hơn
1
dòng
l
ệnh
t
hì
sẽ
phả
i
khai
báo
sử
dụng
dấu
nhiều
hơn
hai
t
ùy
chọn
cụ
thể
cho
phép
quyế
t
định. VD:
switch($diem)
{
18
case
“5”:
echo
giỏi”;
break;
deafault:
echo
“Nhập
l
ại”;
}
Nếu
đúng
đ
i
ều
kiện
case,
cần
khai
báo
phát
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
đơn
giản
nhấ
t
trong
PHP
là
vòng
l
ặp
whi
l
e
cho
phép
bạn
thực
t
h
như
cú
pháp
While
(đ
i
ều
kiện)
{
câu
l
ệnh
thực
hiện;
}
- Phát
biểu
do
...
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
giớ
i
hạn
ch
ỉ
định.
for
(giá
tr
ị
khở
i
đầu;
đ
i
ều
kiện
giớ
i
hạn;
giá
tr
dữ
li
ệu
bằng
PHP
- Mở
file
bằng
PHP:
o
fopen(tên
file,
chế
độ
mở):
mở
file
o
trỏ
ở
cuố
i
file
o
file_exists():
Kiểm
tra
file
có
t
ồn
t
ạ
i
o
filesize():
kiểm
i
dạng
Read-On
l
y
r+ Mở
dướ
i
dạng
Read-Write
w Mở
dướ
i
dạng
Write-On
l
y
w+ Mở
dướ
i
dạng
Write-Read.
được
t
ạo
ra.
a Mở
dướ
i
dạng
append
dữ
li
ệu
(write),
nếu
nộ
i
dung
t
ồn
t
ại,
trường
hợp
file
không
t
ồn
t
ạ
i
chúng
sẽ
được
t
ạo
ra.
a+ Mở
dướ
i
dạng
append
dữ
nộ
i
dung,
dữ
li
ệu
sẽ
được
ghi
ti
ếp
phần
đầu,
trong
trường
hợp
file
không
t
kế
t
nố
i
cơ
sở
dữ
li
ệu
MySQL,
cần
cung
cấp
tên
Server
hay
IP
(có
nhập
làm
việc
trên
cơ
sở
dữ
li
ệu
được
mở.
- Thiế
t l
ập
kế
t
nố
i:
20
Int
“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
mysql_select_db(“database
name”,
ệu
:
Int
mysql_query(string
sql);
Int
mysql_query(string
sql,
[int
db_connect]);
Int
mysql_query(string
database,
string
sq
l
,
[int
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);
2. Giới thiệu MySQL
nguồn
mở
dành
cho
máy
tính
cá nhân.
MySQL
còn
đang
trên
đà
phá
t
triển,
nhưng
MySQL
là
cơ
sở
dữ
li
ệu
được
sử
dụng
cho
các
ứng
dụng
Web
có
cũng
có trình
giao
diện
t
rên
W
i
ndows
hay
Linux,
cho
phép
ngườ
i
dùng
có
thể
hệ
cơ
sở
dữ
li
ệu
khác,
khi
làm
việc
vớ
i
cơ
sở
dữ
li
ệu
MySQL
bạn
sử
dụng,
thiế
t
kế
đố
i t
ượng
Table
của
cơ
sở
dữ
li
ệu
và
xử
lý
dữ
Internet
phần
mềm
hệ
quản
tr
ị
cơ
sở
dữ
li
ệu
server/client
đến
các
phần
mềm
ti
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
vừa
Int
-2
31
->
2
31
hay
0..2
32
-1
4 Số
nguyên
Bigint
-2
63
->
2
63
hay
0..2
64
-1
8 Số
dạng
Single
Double(M,D) ±1.7976931348623157308
±2.2250738585072014E-308
8 Số
thập
phân
dạng
Double
Float(M[,D]) Số
chấm
động
l
ưu
dướ
i
dạng
char
22
b)
Loạ
i
i
me 00:00:00
23:59:59
T
i
me
trình
bày
dướ
i
dạng
hh
:
mm:ss
DateT
i
me 1000-01-01
00:00:00
9999-12-31
23:59:59
Date
và
T
i
trình
bày
dướ
i
dạng
2
số
hay
4
số
Trình
bày
đạ
i
diện
của
TimeStamp
Loạ
i
=
năm,
m
=
tháng,
d
=
ngày)
c)
Loạ
i
dữ
li
ệu
String
Loạ
i
Range Diễn
giả
i
chuỗ
i l
ớn
nhấ
t
255
ký
t
ự
Tinyblob
2
8
-1
Khai
báo
cho
Field
chứa
kiểu
đố
i
kiểu
chuỗ
i
cỡ
255
ký
t
ự
Blob
2
16
-1
Khai
báo
cho
Fie
l
d
chứa
kiểu
blob
bản
cỡ
65535
ký
t
ự
23