Thiết kế website giới thiệu sản phẩm qua mạng (E – Catalogue)

Đề tài thiếtkế Web giúp tìm hiểu và thực hiện trang Web độngvới ngôn

ngữkịchbản PHP, cáckếtnốivớihệ quản trịcơsởdữ liệu MySQL,lấydữ

liệu đểhiểnthịtrên trang Web và cập nhậtdữliệu trởlại.

Đềtài của chúng em là website giới thiệusản phẩmbánhkẹo nênchức năng

chính của website sẽgồm những nộidung cơbản sau:

- Giới thiệu vềcửa hàng

- Giới thiệu vềcácsản phẩm mà cửa hàng kinh doanh

- Cho phépnhâ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.

 

pdf32 trang | Chia sẻ: giathuc10 | Lượt xem: 1158 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Thiết kế website giới thiệu sản phẩm qua mạng (E – Catalogue), để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ò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 
 8 
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 Diễn giải 
R Mở dưới dạng Read-Only 
r+ Mở dưới dạng Read-Write 
w Mở dưới dạng Write-Only 
w+ 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. 
a 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. 
a+ 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ề 
 9 
- 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 Range Bytes Diễn giải 
Tinyint -127 ->128 hay 0..255 1 Số nguyên rất nhỏ 
Smallint -32768 -> 32767 hay 
0..65535 
2 Số nguyên nhỏ 
Mediumint -8388608 -> 838860 hay 
0..16777215 
3 Số nguyên vừa 
Int -231 -> 231 hay 0..232-1 4 Số nguyên 
Bigint -263 -> 263 hay 0..264-1 8 Số nguyên lớn 
Float phụ thuộc số thập phân Số thập phân dạng 
Single hay Double 
Float(M,D) ±1.175494351E-38 
±3.40282346638 
4 Số thập phân 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 
 10 
b) Loại dữ liệu Date and Time 
Loại Range Diễn giải 
Date 1000-01-01 Date trình bày dưới dạng YYYY-mm-
dd 
Time 00:00:00 
23:59:59 
Time trình bày dưới dạng hh:mm:ss 
DateTime 1000-01-01 
00:00:00 
9999-12-31 
23:59:59 
Date và Time trình bày dưới dạng 
YYY-mm-dd hh:mm:ss 
TimeStamp[(M)] 1970-01-01 
00:00:00 
TimeStamp trình bày dưới dạng 
YYYY-mm-dd hh:mm:ss 
Year[(2|4)] 1970-2069 
1901-2155 
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 Range Diễn giải 
Char 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký 
tự 
Varchar 1-255 ký tự Chiều dài của chuỗi lớn nhất 255 ký 
tự 
Tinyblob 28-1 Khai báo cho Field chứa kiểu đối 
tượng nhị phân cỡ 255 ký tự 
Tinytext 28-1 Khai báo cho Field chứa kiểu chuỗi 
cỡ 255 ký tự 
Blob 216-1 Khai báo cho Field chứa kiểu blob 
cỡ 65535 ký tự 
Text 216-1 Khai báo cho Field chứa kiểu chuỗi 
dạng văn bản cỡ 65535 ký tự 
Mediumblob 224-1 Khai báo cho Field chứa kiểu blob 
 11 
vừa khoảng 16777215 ký tự 
Mediumtext 224-1 Khai báo cho Field chứa kiểu chuỗi 
dạng văn bản vừa khoảng 16777215 
ký tự 
Longblob 232-1 Khai báo cho Field chứa kiểu blob 
lớn khoảng 4294967295 ký tự 
Longtext 232-1 Khai báo cho Field chứa kiểu blob 
vừa khoảng 4294967295 ký tự 
2.4 – Phát biểu SQL 
Tạo cơ sở dữ liệu: 
Create Database 
Create 
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 
From 
Where 
[Group by ] 
[Having ] 
[Order by ] 
[Limit fromNumber | To Number] 
b) Phát biểu Insert 
Insert into [] 
Values (data_values) 
c) Phát biểu Update 
Update 
Set =, [=] 
[where ] 
d) Phát biểu Delete 
Delete from 
Where 
Một số hàm thông dụng trong MySQL 
 12 
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’ 
 13 
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 
hoàn chỉnh để chuẩn bị cho giai đoạn thiết kế vật lý. 
Biểu đồ phân cấp chức năng 
Phục vụ quản trị 
Quản lý 
sản phẩm 
Thống kê 
về danh 
mục sản 
phẩm hiện 
có 
Xem theo 
nhóm sản 
phẩm 
Tìm kiếm 
sản phẩm 
theo yêu 
cầu 
Xem 
thông tin 
chi tiết 
từng sản 
phẩm 
Phục vụ Khách hàng 
Website giới thiệu bánh kẹo 
Quản lý 
người 
dùng 
 14 
NHÂN 
VIÊN 
Website giới 
thiệu sản phẩm 
bánh kẹo 
KHÁCH 
HÀNG 
Kết quả tìm kiếm 
Yêu cầu tìm kiếm 
Xem thông tin 
Đáp ứng yêu cầu 
Yêu cầu xem thống kê 
Yêu cầu cập nhật 
KQ thống kê 
Đáp ứng yêu cầu 
Biểu đồ Luồng dữ liệu mức khung cảnh 
Cập nhật 
NSD 
KHÁCH 
HÀNG 
NHÂN 
VIÊN 
Phục vụ 
khách 
hàng 
Phục vụ 
quản trị 
Yêu cầu cập nhật 
Yêu cầu thống kê 
Đáp ứng yêu cầu 
KQ thống kê 
Yêu cầu xem thông tin 
Đáp ứng yêu cầu 
Kết quả tìm kiếm 
Yêu cầu tìm kiếm 
Biểu đồ Luồng dữ liệu mức đỉnh 
Mặt hàng Loại hàng NSD 
Cập nhật loại hàng 
Cập nhật 
mặt hàng 
Đơn vị tính 
Cập nhật 
Đơn vị tính 
 15 
KHÁCH 
HÀNG 
TÌM KIẾM 
XEM THEO 
LOẠI SẢN 
PHẨM 
XEM CHI 
TIẾT SẢN 
PHẨM 
Mặt hàng 
Loại hàng 
Đơn vị tính 
Yêu cầu 
tìm kiếm 
Yêu cầu xem 
chi tiết 
Yêu cầu 
xem theo 
loại sản 
sản phẩm 
Đáp ứng 
Yêu cầu 
KQ 
tìm kiếm 
Biểu đồ luồng dữ liệu mức dưới đỉnh 
(Chức năng phục vụ khách hàng) 
NHÂN 
VIÊN 
QUẢN LÝ 
SẢN PHẨM 
THỐNG KÊ 
BÁO CÁO 
Đơn vị tính 
Loại hàng 
Người sử dụng 
Mặt hàng 
QUẢN LÝ 
NGƯỜI 
DÙNG 
NHÂN 
VIÊN 
Yêu cầu cập 
nhập người dùng 
Thông tin đáp 
ứng 
Yêu cầu cập nhật 
sản phẩm 
Thông tin 
 đáp ứng 
Yêu cầu 
thống kê 
KQ thống kê 
Biểu đồ luồng dữ liệu mức dưới đỉnh 
(Chức năng phục vụ quản trị) 
 16 
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 
 17 
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 

File đính kèm:

  • pdfPHP can ban.pdf