L im ñ u
&
Ngày nay Thương m i ñi n t ñã tr thành m t ngành kinh t mũi nh n 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
l n trên th gi i.
Nh vào s phát tri n c a các phương ti n truy n thơng, đ c bi t là s phát
tri n c a tin h c ñã t o ñi u ki n cho m i ngư i có th giao ti p v i nhau m t
cách nhanh chóng và d dàng hơn thơng qua các d ch v Internet. Vì là m t
mơi trư ng truy n thông r ng kh p th gi i nên thông tin có th đư c gi i
thi u t i t ng ngư i m t cách nhanh chóng và thu n l i. Chính vì v y đã t o
ñi u ki n thu n l i cho Thương m i đi n t thơng qua Internet và Thương m i
đi n t nhanh chóng tr nên ph bi n trên th gi i, tr thành m t công c r t
m nh m ñ bán hàng và qu ng cáo hàng hoá c a các nhà cung c p. Đ i v i
khách hàng, có th có th l a ch n, so sánh hàng hoá phù h p c v lo i hàng
hoá, d ch v giá c , ch t lư ng và phương th c giao hàng cho khách hàng.
Có r t nhi u ý ki n cho r ng Thương m i ñi n t là s thay ñ i l n nh t
trong kinh doanh k t sau cu c cách m ng cơng nghi p.
Thương m i đi n t khơng ch m ra nh ng cơ h i kinh doanh m i, nh ng
s n ph m và d ch v m i, nh ng ngành ngh kinh doanh m i mà b n thân nó
th c s là m t phương th c kinh doanh m i: Phương th c kinh doanh ñi n t .
Thương m i ñi n t chuy n hoá các ch c năng kinh doanh, t nghiên c u th
trư ng và s n xu t s n ph m ñ n bán 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 kinh doanh đi n t .
Trong khn kh bài th c t p này, chúng em ñã xây d ng m t website gi i
thi u s n ph m qua m ng (E – Catalogue), c th là website gi i thi u v m t
hàng bánh k o.
Website ñư c thi t k b ng ngôn ng k ch b n PHP và h qu n tr cơ s d
li u MySQL.
Vì th i gian và trình đ có h n nên bài báo cáo s không tránh kh i sai sót.
Mong th y thơng c m , châm chư c và giúp ñ chúng em.
Sinh viên th c hi n
Đ Nam Khánh
Vũ M nh Linh
1
Chương I: M c đích c a đ tài
M c đích:
Đ tài thi t k Web giúp tìm hi u và th c hi n trang Web ñ ng v i ngôn
ng k ch b n PHP, các k t n i v i h qu n tr cơ s d li u MySQL, l y d
li u ñ hi n th trên trang Web và c p nh t d li u tr l i.
Đ tài c a chúng em là website gi i thi u s n ph m bánh k o nên ch c năng
chính c a website s g m nh ng n i dung cơ b n sau:
- Gi i thi u v c a hàng
- Gi i thi u v các s n ph m mà c a hàng kinh doanh
- Cho phép nhân viên c a c a hàng có th c p nh t thông tin v s n ph m
m t cách nhanh chóng.
Chương II:
Tìm hi u v ngơn ng k ch b n PHP và h qu n
tr CSDL MySQL
Trong th c t , ng d ng Web luôn t n t i hai lo i là trang Web tĩnh và
đ ng. Trang Web tĩnh là trang HTML khơng k t n i cơ s d li u. Ngư c l i,
trang web đ ng là trang Web có k t n i cơ s d li u. Đi u này có nghĩa là m i
khi trang Web đ ng ñư c n p l i (refresh), d li u trình bày trên trang Web
đư c đ c t cơ s d li u.
Do yêu c u c a ñ tài thu n túy là gi i thi u s n ph m, khơng có các phép
tốn ph c t p đ x lý thơng tin, mà ch y u ch là các phép tốn truy tìm, trích
l c, s p x p thơng tin tương đ i đơn gi n. Các d li u c a ñ tài thu c lo i đơn
gi n, có th đư c t ch c m t cách d dàng thành cơ s d li u b i m t h
qu n tr cơ s d li u do đó em ch n ngơn ng th c hi n chương trình là PHP
và h qu n tr cơ s d li u MySQL.
1. Gi i thi u và s d ng PHP
1.1 - Gi i thi u
a) 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.
Ngôn ng
Php(php,php3,phtml)
Asp
Jsp
Cfm (ColdFusion)
10/2000
157,470
3,166,710
24,435
936,223
03/2002
7,549,230
11,958,185
413,827
4,950,133
2
T l phát tri n
4694%
278%
1594%
429%
Th ph n
30%
48%
2%
20%
Theo PC World 7.2002 (117)
b) PHP là gì?
PHP đư c vi t t Hypertext Preprocessor, đây là m t ngơn ng k ch b n mã
ngu n m s d ng cho m c đích chung, đ c bi t thích h p cho phát tri n Web
và có th nhúng vào HTML. Hi n nay ñư c s d ng r t r ng rãi.
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 hồn tồ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ó hồn tồ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. Tồ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.
Nhi u nhà phát tri n dùng k t h p c hai : Perl dùng cho nh ng tác v ch y
bên dư i còn PHP dùng cho vi c x lý b m t. Komodo c a Active State Corp
là cơng c mi n phí dùng đ phát tri n trang PHP.
1.2 - S d ng PHP
a) 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
3
<script language = ‘php’>
echo “PHP script”;
</script>
- Ki u ASP:
<%
echo “Đây là ki u ASP”;
%>
b) G i hàm trong PHP
Đ 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”);
?>
c) 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 ’]
d) 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.
e) 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: $qtty=20;
$price=10;
$total=$qtty*$price;
echo “Total: $total”;
?>
f) 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 .
4
-
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.
g) Toán t trong PHP
* Các phép tốn s h c
Tốn t
+
*
/
%
Tên
C ng
Tr
Nhân
Chia
Modulo
Ví d
$a + $b;
$a - $b;
$a*$b;
$a/$b;
$a%$b;
* Các phép toán gán k t h p
Toán t
+=
++
-=
-*=
/=
%=
.=
S d ng
$a+=$b
$a++
$a-=$b
$a-$a*=$b
$a/=$b
$a%=$b
$a.=$b
Tương t
$a=$a + $b;
$a=$a + 1;
$a=$a - $b;
$a=$a-1;
$a=$a*$b;
$a=$a/$b;
$a=$a%$b;
$a=$a.$b;
* Các phép logic
Ký hi u
S d ng
!
&&
NOT
AND
||
OR
and
AND
or
OR
Phép tốn ph đ nh
Tr v true n u c hai bi n có
Ngư c l i là false
Tr v true n u $a hay $b hay c
giá tr true
$a and Tr v true n u c hai bi n có
$b
Ngư c l i là false
$a or $b Tr v true n u $a hay $b hay c
giá tr true
Phép
toán
Ý nghĩa
!$a
$a &&
$b
$a || $b
* Các phép toán so sánh
Phép toán
==
S d ng
$a= =$b
Ý nghĩa so sánh
$a b ng $b
5
giá tr true.
hai bi n có
giá tr true.
hai bi n có
===
!=
<>
<
<=
>
>=
$a = = = $b
$a!=$b
$a<>$b
$a<$b
$a<=$b
$a>$b
$a>=$b
$a b ng và cùng ki u d li u v i $b
$a không b ng $b
$a không b ng $b
$a nh hơn $b
$a nh hơn ho c b ng $b
$a l n hơn $b
$a l n hơn ho c b ng $b
h) Ki m tra bi n trong PHP
- is_array(): Ki m tra bi n là array hay không.
- is_double(): Ki m tra bi n là double hay không.
- is_float(): Ki m tra bi n là float hay không.
- is_real(): Ki m tra bi n là real hay không.
- is_long(): Ki m tra bi n là long hay không.
- is_int(): Ki m tra bi n là int hay không.
- is_interger(): Ki m tra bi n là integer hay không.
- is_string(): Ki m tra bi n là string hay không.
- is_object(): Ki m tra bi n là object hay không.
- isset(): N u bi n t n t i hàm tr v giá tr true, ngư c l i tr v false.
- empty(): Cho phép ki m tra bi n t n t i và không r ng, có chi u dài khác 0
tr v true, ngư c l i là false.
Đ s d ng t t c các hàm trên, c n ph i truy n vào hàm bi n PHP dư i
d ng tham s .
i) 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 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;
6
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 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;
}
j) Lưu tr và truy v n d li u b ng PHP
• M file b ng PHP:
o fopen(tên file, ch đ m ): m file
o fputs(), fwrite(): ghi file
o fclose(): Đóng file
7
o feof(): Nh n giá tr true n u con tr
cu i file
o file_exists(): Ki m tra file có t n t i
o filesize(): ki m tra dung lư ng c a file
o unlink(): xóa file
Ch đ m file:
Mode
R
r+
w
w+
a
a+
Di n gi i
M dư i d ng Read-Only
M dư i d ng Read-Write
M dư i d ng Write-Only
M dư i d ng Write-Read. N u file này t n t i, n i dung s b xóa,
n u khơng t n t i chúng s ñư c t o ra.
M dư i d ng append d li u (write), n u n i dung t n t i, b t ñ u
cu i cùng c a n i dung, d li u s ñư c ghi ti p ph n cu i, trong
trư ng h p file không t n t i chúng s ñư c t o ra.
M dư i d ng append d li u (write & read), n u n i dung t n t i, b t
ñ u ph n ñ u c a n i dung, d li u s ñư c ghi ti p ph n đ u, trong
trư ng h p file khơng t n t i chúng s đư c t o ra.
• 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
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
8
-
-
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
2.1 - MySQL là gì?
MySQL là m t h qu n tr cơ s d li u mã 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 các l nh cơ b n c a SQL có
th th nghi m ñư c trên cơ s d li u MySQL.
MySQL là cơ s d li u ñư c s d ng cho các ng d ng Web có quy mơ
v a và nh . Tuy không ph i là m t cơ s d li u l n nhưng chúng cũng có
trình giao di n trên Windows hay Linux, cho phép ngư i 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 Table c a
cơ s d li u và x lý d li u.
2.2 - Nơi cung c p MySQL?
Có th download t i website www.mysql.com qua m ng Internet ph n m m
h qu n tr cơ s d li u server/client ñ n các ph n m m ti n nghi và các ph n
m m giao di n ñ p m t và ti n d ng.
2.3 – Các ki u d li u trong cơ s d li u MySQL
a) Lo i d li u numeric
Lo i
Tinyint
Smallint
Mediumint
Int
Bigint
Float
Range
-127 ->128 hay 0..255
-32768 -> 32767 hay
0..65535
-8388608 -> 838860 hay
0..16777215
-231 -> 231 hay 0..232-1
-263 -> 263 hay 0..264-1
ph thu c s th p phân
Float(M,D)
±1.175494351E-38
±3.40282346638
Double(M,D) ±1.7976931348623157308
±2.2250738585072014E-308
Float(M[,D])
9
Bytes
1
2
Di n gi i
S nguyên r t nh
S nguyên nh
3
S nguyên v a
4
8
S nguyên
S nguyên l n
S th p phân d ng
Single hay Double
S th p phân d ng
Single
S th p phân d ng
Double
S ch m ñ ng lưu
dư i d ng char
4
8
b) Lo i d li u Date and Time
Lo i
Date
Range
1000-01-01
Time
00:00:00
23:59:59
1000-01-01
00:00:00
9999-12-31
23:59:59
1970-01-01
00:00:00
1970-2069
1901-2155
DateTime
TimeStamp[(M)]
Year[(2|4)]
Di n gi i
Date trình bày dư i d ng YYYY-mmdd
Time trình bày dư i d ng hh:mm:ss
Date và Time trình bày dư i d ng
YYY-mm-dd hh:mm:ss
TimeStamp trình bày dư i d ng
YYYY-mm-dd hh:mm:ss
Year 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
Hi n th
TimeStamp
YYYYMMDDHHMMSS
TimeStamp(14)
YYYYMMDDHHMMSS
TimeStamp(12)
YYMMDDHHMMSS
TimeStamp(10)
YYMMDDHHMM
TimeStamp(8)
YYYYMMDD
TimeStamp(6)
YYMMDD
TimeStamp(4)
YYMM
TimeStamp(2)
YY
(y = năm, m = tháng, d = ngày)
c) Lo i d li u String
Lo i
Char
Range
1-255 ký t
Varchar
1-255 ký t
Tinyblob
28-1
Tinytext
28-1
Blob
216-1
Text
216-1
Mediumblob
Di n gi i
Chi u dài c a chu i l n nh t 255 ký
t
Chi u dài c a chu i l n nh t 255 ký
t
Khai báo cho Field ch a ki u ñ i
tư ng nh phân c 255 ký t
Khai báo cho Field ch a ki u chu i
c 255 ký t
Khai báo cho Field ch a ki u blob
c 65535 ký t
Khai báo cho Field ch a ki u chu i
d ng văn b n c 65535 ký t
Khai báo cho Field ch a ki u blob
224-1
10
v a kho ng 16777215 ký t
Khai báo cho Field ch a ki u chu i
d ng văn b n v a kho ng 16777215
ký t
Khai báo cho Field ch a ki u blob
l n kho ng 4294967295 ký t
Khai báo cho Field ch a ki u blob
v a kho ng 4294967295 ký t
24
Mediumtext
2 -1
Longblob
232-1
Longtext
232-1
2.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>]
d) Phát bi u Delete
Delete from <table_name>
Where <condition>
M t s hàm thông d ng trong MySQL
11
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’
12
Chương III: Phân tích h th ng
Phân tích h th ng theo nghĩa chung nh t là kh o sát nh n di n và phân
ñ nh các thành ph n c a m t ph c h p và ch ra các m i liên h gi a chúng.
Theo nghĩa h p phân tích h th ng là giai ño n 2, ñi sâu vào các thành ph n
c a h th ng.
Phân tích h th ng bao g m vi c phân tích v ch c năng x lý và phân tích
v d li u (d li u là đ i tư ng x lý)
Phân tích h th ng v x lý
S phân tích h th ng v m t x lý nh m m c đích l p mơ hình x lý c a
h th ng, đ tr l i câu h i “H th ng làm gì?”, t c là đi sâu vào câu h i “Làm
gì?” mà g t b câu h i “Làm như th nào?” ch di n t m c đích, b n ch t c a
quá trình x lý mà b qua các y u t v th c hi n cài ñ t (là các y u t v v t
lý).
Giai ño n này g i là giai ño n thi t k logic, ph i ñư c th c hi n m t cách
hồn ch nh đ chu n b cho giai ño n thi t k v t lý.
Website gi i thi u bánh k o
Ph c v Khách hàng
Tìm ki m
Xem
s n ph m Xem theo thơng tin
theo yêu nhóm s n chi ti t
t ng s n
c u
ph m
ph m
Ph c v qu n tr
Qu n lý
ngư i
dùng
Qu n lý
s n ph m
Bi u ñ phân c p ch c năng
13
Th ng kê
v danh
m cs n
ph m hi n
có
Yêu c u tìm ki m
Yêu c u xem th ng kê
Xem thông tin
KQ th ng kê
Website gi i
thi u s n ph m
bánh k o
KHÁCH
HÀNG
Đáp ng yêu c u
NHÂN
VIÊN
Đáp ng yêu c u
K t qu tìm ki m
Yêu c u c p nh t
Bi u ñ Lu ng d li u m c khung c nh
Yêu c u xem thông tin
Đáp ng yêu c u
KHÁCH
HÀNG
Ph c v
khách
hàng
K t qu tìm ki m
Yêu c u tìm ki m
NSD
M t hàng
C p nh t
m t hàng
C p nh t
NSD
Đơn v tính
Lo i hàng
C p nh t
Đơn v tính
C p nh t lo i hàng
Yêu c u c p nh t
Ph c v
qu n tr
Đáp ng yêu c u
Yêu c u th ng kê
NHÂN
VIÊN
KQ th ng kê
Bi u ñ Lu ng d li u m c ñ nh
14
TÌM KI M
u c u
tìm ki m
KQ
tìm ki m
u c u
xem theo
lo i s n
s n ph m
KHÁCH
HÀNG
M t hàng
XEM THEO
LO I S N
PH M
Lo i hàng
Đáp ng
Yêu c u
Đơn v tính
Yêu c u xem
chi ti t
XEM CHI
TI T S N
PH M
Bi u ñ lu ng d li u m c dư i ñ nh
(Ch c năng ph c v khách hàng)
Yêu c u c p nh t
s n ph m
NHÂN
VIÊN
QU N LÝ
S N PH M
Đơn v tính
Thơng tin
đáp ng
u c u
th ng kê
M t hàng
Lo i hàng
TH NG KÊ
BÁO CÁO
KQ th ng kê
Ngư i s d ng
QU N LÝ
NGƯ I
DÙNG
Thơng tin đáp
ng
NHÂN
VIÊN
u c u c p
nh p ngư i dùng
Bi u ñ lu ng d li u m c dư i ñ nh
(Ch c năng ph c v qu n tr )
15
Mơ hình quan h th c th liên k t
Chương IV: Thi t k chương trình
I. Thi t k cơ s d li u:
B ng ch a thông tin m t hàng
B ng ch a thơng tin nhóm m t hàng
16
B ng ch a thơng tin Đơn v tính
B ng ch a thông tin ngư i dùng
Câu l nh SQL t o cơ s d li u:
# T o b ng tbldonvitinh
CREATE TABLE /*!32300 IF NOT EXISTS*/ tbldonvitinh (
MaDVT tinyint(3) unsigned NOT NULL auto_increment,
TenDVT varchar(255) NOT NULL DEFAULT '' ,
PRIMARY KEY (MaDVT)
);
# T o b ng tblmathangxuat
CREATE TABLE /*!32300 IF NOT EXISTS*/ tblmathangxuat (
MaMatHangXuat tinyint(3) unsigned NOT NULL auto_increment,
TenHang varchar(255) NOT NULL DEFAULT '' ,
MaNhomMatHang tinyint(3) unsigned NOT NULL DEFAULT '0' ,
MaDVT tinyint(4) NOT NULL DEFAULT '0' ,
Anh varchar(255) NOT NULL DEFAULT '' ,
GhiChu varchar(255) ,
TinhTrang tinyint(3) unsigned NOT NULL DEFAULT '1' ,
DonGia int(10) unsigned NOT NULL DEFAULT '0' ,
NgayNhap date NOT NULL DEFAULT '0000-00-00' ,
PRIMARY KEY (MaMatHangXuat)
);
# T o b ng tblnhommathang
CREATE TABLE /*!32300 IF NOT EXISTS*/ tblnhommathang (
MaNhomMatHang tinyint(3) unsigned NOT NULL auto_increment,
TenNhomMatHang varchar(255) NOT NULL DEFAULT '' ,
PRIMARY KEY (MaNhomMatHang)
);
17
# T o b ng tblnsd
CREATE TABLE /*!32300 IF NOT EXISTS*/ tblnsd (
MaNSD tinyint(3) unsigned NOT NULL auto_increment,
TenTruyNhap varchar(50) NOT NULL DEFAULT '' ,
MatKhau varchar(50) NOT NULL DEFAULT '' ,
Quyen tinyint(3) unsigned NOT NULL DEFAULT '0' ,
PRIMARY KEY (MaNSD)
);
Hư ng d n s d ng chương trình
- Ngơn ng s d ng là PHP, webserver là IIS
- Cài ñ t PHP
- Cài ñ t h qu n tr CSDL MySQL
- Sau khi cài xong thì ch y t p tin mysqlfront.exe (ph n m m client k t n i
v i MySQL)
-Nh p Connect s hi n ra c a s => Tools =>Creat Database => Đ t tên là
gioithieusp. Sau đó nh p vào Tab Query => Load SQL => Ch ñ n t p tin
banhkeo.sql => Ch n Run
- Cài ñ t IIS => Start => Control Panel => Add or Remove Programs =>
Add/Remove Windows Components => Internet Infomation Services (IIS)
18
Các giao di n chương trình
1) Trang ch
19
2) Trang li t kê theo nhóm s n ph m
Khi ngư i dùng ch n ch c năng xem theo nhóm s n ph m thì các m t hàng
thu c nhóm s n ph m đó s đư c li t kê như hình dư i đây:
3) Trang xem chi ti t s n ph m
Khi mu n xem thông tin chi ti t v s n ph m nào đó, khách hàng ch c n
nh p vào link “Chi ti t”
20
4) Trang ñăng nh p
Đ truy c p ch c năng qu n lý, ngư i dùng ph i ñăng nh p v i tên truy c p
và m t kh u. Giao di n như hình dư i đây:
5) Trang thêm s n ph m m i
21
6) Trang danh sách s n ph m
7) Trang s a thông tin s n ph m
22
8) Trang qu n lý Nhóm s n ph m
9) Trang qu n lý Đơn v tính
10) Trang qu n lý ngư i dùng
23
11) Trang th ng kê s n ph m
12) Trang thơng báo l i khi ngư i dùng khơng có quy n thao tác
24
Chương V: Vi t Code
1) Đo n mã ki m tra ñăng nh p
@session_start();
require("../include/csdl.inc");
//Nhúng t p tin k t n i CSDL
$sql="select * from tblnsd where
TenTruyNhap='".$_POST['txtUsername']."' and MatKhau
='".md5($_POST['txtPassword'])."'";
$result=mysql_query($sql,$link);
$totalRows=mysql_num_rows($result);
//N u tìm th y NSD có tên truy nh p & m t kh u trùng v i tên & m t
kh u nh p vào
if($totalRows>0)
{
session_unset('login');
//H y session có tên login
while($row=mysql_fetch_array($result))
{
//Đăng ký các bi n Session
$_SESSION['username']=$row['TenTruyNhap'];
$_SESSION['Quyen']=$row['Quyen'];
$_SESSION['login']="Y";
echo '
content="2;URL=index.php">';
echo '
<font color="red"><b> Đăng
nh p thành cơng!!!
</b></font>';
echo '<img src="../images/loading.gif">
';
echo '<a href="index.php">Nh p vào đây n u trình duy t khơng t đ ng
chuy n</a>';
}
}
else
//N u ko tìm th y => Thơng báo l i
{
echo '<script>alert("Sai Tên truy c p ho c M t
kh u!\nVui lòng ki m tra l i");
history.go(-1)</script>';
}
?>
2) Đo n mã trang k t qu tìm ki m
switch($_POST['cboTimTheo'])
{
case "all":
//Tim theo ten hang & don gia (chon mac dinh)
$sql="select * from tblmathangxuat where TenHang like
'%".$_POST['txtTukhoa']."%' or DonGia='".$_POST['txtTukhoa']."'";
break;
case "tensp":
//Tim theo ten san pham
$sql="select * from tblmathangxuat where TenHang like
'%".$_POST['txtTukhoa']."%'";
break;
case "gia":
//Tim theo gia
$sql="select * from tblmathangxuat where DonGia between
'".$_POST['txtGiaBegin']."' and '".$_POST['txtGiaEnd']."'";
break;
}
$result=mysql_query($sql,$link);
//Th c thi câu l nh SQL
25