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.
ò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:
PHP can ban.pdf



