Tải bản đầy đủ (.pdf) (15 trang)

Lập Trình Web - Kỹ thuật giỏ hàng trong PHP pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (315.01 KB, 15 trang )

THIẾT KẾ VÀ LẬP TRÌNH WEB
1
Lập Trình Web
Kỹ thuật giỏ hàng trong PHP
ĐẠI HỌC SÀI GÒN – KHOA CNTT
GV: Trần Đình Nghĩa

THIẾT KẾ VÀ LẬP TRÌNH WEB
2
Nội dung
 Cấu trúc dữ liệu & mô hình hoạt động giỏ hàng
 Thêm sản phẩm vào giỏ hàng
 Hiển thị giỏ hàng
 Sửa số lượng sản phẩm
 Xóa một sản phẩm hay Xóa toàn bộ giỏ hàng
 Ví dụ
 Lưu giỏ hàng vào CSDL
THIẾT KẾ VÀ LẬP TRÌNH WEB
3
Cấu trúc dữ liệu cho giỏ hàng
 Mỗi khách truy cập website sẽ có 1 session
riêng biệt
 Lưu toàn bộ giỏ hàng vào session thông qua
biến mảng cart
 Mỗi phần tử của cart sẽ được truy xuất theo
dạng id ==> value.
Với: id = mã sách, value = số lượng
<?php
session_start();
session_register("cart");
?>


THIẾT KẾ VÀ LẬP TRÌNH WEB
4
Mô hình hoạt động của giỏ hàng
bookdetail.php addcart.php
cart.php
checkout.php
delcart.php
THIẾT KẾ VÀ LẬP TRÌNH WEB
5
Thêm sản phẩm vào giỏ hàng
 Khi khách chọn đưa 1 sản phẩm vào giỏ
hàng
 $_SESSION[“cart”] sẽ được kiểm tra và tạo nếu
chưa có.
 Nếu $_SESSION[“cart”][“id”] chưa có:
$_SESSION[“cart”][“id”] =1
 Nếu $_SESSION[“cart”][“id”] đã có:
$_SESSION[“cart”][“id”] ++
THIẾT KẾ VÀ LẬP TRÌNH WEB
6
Thêm sản phẩm vào giỏ hàng
THIẾT KẾ VÀ LẬP TRÌNH WEB
7
Hiển thị giỏ hàng (cart.php)
 Trước tiên, ta cần kiểm tra giỏ hàng có hàng?
THIẾT KẾ VÀ LẬP TRÌNH WEB
8
Hiển thị giỏ hàng (cart.php)
 Nếu có, ta xây dựng câu lệnh SQL để lấy ra
các sản phẩm có trong giỏ hàng từ CSDL

THIẾT KẾ VÀ LẬP TRÌNH WEB
9
Hiển thị giỏ hàng (cart.php)
 Hiển thị từng sản phẩm trong giỏ hàng cùng
với số lượng đặt mua của chúng thông qua
vòng lặp while
THIẾT KẾ VÀ LẬP TRÌNH WEB
10
Hiển thị giỏ hàng (cart.php)
 Sau vòng lặp, hiển thị tổng tiền giỏ hàng và
các liên kết cần thiết
THIẾT KẾ VÀ LẬP TRÌNH WEB
11
Sửa số lượng sản phẩm
 Số lượng mỗi sản phẩm trong giỏ hàng được
hiển thị bằng mảng TextField có tên qty[]
 Khi form trong cart.php được submit (Button
submit có tên submit), các số lượng mới sẽ
được chuyển cho chính trang này
 Như vậy, vào đầu trang cart.php, cần kiểm
tra nếu đang được submit, ta sẽ cập nhật số
lượng mới
 Việc cập nhật số lượng mới chỉ đơn giản là
ghi đè số lượng mới vào số lượng cũ. Tuy
nhiên, nếu số lượng mới = 0, ta sẽ xóa sản
phẩm này khỏi giỏ hàng
THIẾT KẾ VÀ LẬP TRÌNH WEB
12
Sửa số lượng sản phẩm
THIẾT KẾ VÀ LẬP TRÌNH WEB

13
Xóa một sản phẩm hay Xóa toàn bộ giỏ hàng
 Xem xét link Xóa tương ứng với từng sản
phẩm hay link Xóa Bỏ Giỏ Hàng trong
cart.php, ta có trang delcart.php như sau:
THIẾT KẾ VÀ LẬP TRÌNH WEB
14
Ví dụ
masach [1] [5]
$_SESSION[cart] 1 1
masach [1] [5]
$_SESSION[cart] 5 10
THIẾT KẾ VÀ LẬP TRÌNH WEB
15
Lưu giỏ hàng vào CSDL (checkout.php)
 Nếu khách chưa đăng nhập, yêu cầu đăng
nhập bằng cách thông báo và chuyển đến
trang login.php
 Nếu khách đã đăng nhập, lần lượt thực hiện:
 Thêm record mới vào GioHang với các giá trị:
$_SESSION[matv], ngày hiện hành,
DATHANHTOAN=0
 Lấy MaGH mới thêm
 Lặp qua từng sản phẩm trong $_SESSION[cart],
 Lấy giá của sản phẩm $id
 Thêm record mới vào CTGH với các giá trị:
$magh, $id, $value, $gia, $gia*$value

×