Chào mừng bạn đến với hướng dẫn cách tạo một giỏ mua hàng đơn giản với PHP và MySQL. Vâng, có rất nhiều kịch bản giỏ hàng trên thế giới, nhưng chúng cũng chứa đầy những tính năng mà mọi người thậm chí hiếm khi sử dụng. Vì vậy, chúng ta hãy xem qua một giỏ mua hàng cơ bản mà không sử dụng bất kỳ khuôn khổ của bên thứ ba nào – Đọc tiếp
ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào
MỤC LỤC
TẢI XUỐNG & LƯU Ý
Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa
GHI CHÚ NHANH
- Tạo cơ sở dữ liệu và nhập
0-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
- Thay đổi cài đặt cơ sở dữ liệu trong
1 thành cài đặt của riêng bạn-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
- Khởi chạy
0 trong trình duyệt-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
ẢNH CHỤP MÀN HÌNH
Được rồi, bây giờ chúng ta hãy bắt đầu xây dựng một giỏ hàng
PHẦN 1] CƠ SỞ DỮ LIỆU
1A] BẢNG SẢN PHẨM
1-cơ sở dữ liệu. sql
-- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
Hãy để chúng tôi bắt đầu bằng cách giải quyết con voi trong phòng, chúng tôi cần một cái bàn để lưu trữ các sản phẩm
1 ID sản phẩm, khóa chính-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
2 Tên sản phẩm-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
3 Hình ảnh sản phẩm-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
4 Giá sản phẩm-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
1B] BẢNG ĐƠN HÀNG
1-cơ sở dữ liệu. sql
-- [B] ORDERS TABLE
CREATE TABLE `orders` [
`oid` bigint[20] NOT NULL,
`date` datetime NOT NULL DEFAULT current_timestamp[],
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `orders`
ADD PRIMARY KEY [`oid`],
ADD KEY `name` [`name`],
ADD KEY `email` [`email`],
ADD KEY `date` [`date`];
ALTER TABLE `orders`
MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
Sau đó, một bảng để chứa chi tiết đơn đặt hàng - Tên khách hàng, email, ngày đặt hàng và bất cứ điều gì được yêu cầu
5 ID đơn hàng, khóa chính-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
6 Ngày mua-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
2 Tên khách hàng-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
8 Email khách hàng-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
1C] BẢNG CÁC MẶT HÀNG ĐẶT HÀNG
1-cơ sở dữ liệu. sql
-- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
1Cuối cùng, một bảng khác để chứa tất cả các mục đặt hàng
5 Mã đặt hàng, khóa chính và khóa ngoại-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
2 Tên sản phẩm, khóa chính và khóa ngoại-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
4 Giá sản phẩm [mỗi mặt hàng]-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
12 Số lượng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
Một số bạn là những ninja giỏi về mã có thể thắc mắc – Tại sao không chỉ sử dụng ID sản phẩm làm khóa ngoại?
PHẦN 2] THƯ VIỆN GIỎ HÀNG
2-lib-giỏ hàng. php
-- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
6Với cơ sở dữ liệu tại chỗ, bây giờ chúng ta có thể xây dựng một thư viện để làm việc với nó. Điều này có vẻ đáng sợ, nhưng hãy bình tĩnh và quan sát kỹ
- [A, B, G] Khi
13 được tạo, hàm tạo kết nối với cơ sở dữ liệu. Hàm hủy đóng kết nối-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
- [C]
14 Hàm trợ giúp để chạy truy vấn SQL-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
- [D, E] Chỉ có 2 chức năng “giỏ hàng thực tế”
15 Lấy tất cả các sản phẩm từ cơ sở dữ liệu hoặc các mặt hàng trong giỏ hàng hiện tại-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
16 Tự giải thích. Kiểm tra giỏ hàng hiện tại-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
- [F] Hãy nhớ thay đổi cài đặt cơ sở dữ liệu thành cài đặt của riêng bạn
PHẦN 3] TRÌNH XỬ LÝ AJAX GIỎ HÀNG
3-ajax-giỏ hàng. php
-- [B] ORDERS TABLE
CREATE TABLE `orders` [
`oid` bigint[20] NOT NULL,
`date` datetime NOT NULL DEFAULT current_timestamp[],
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `orders`
ADD PRIMARY KEY [`oid`],
ADD KEY `name` [`name`],
ADD KEY `email` [`email`],
ADD KEY `date` [`date`];
ALTER TABLE `orders`
MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
1Tiếp theo, chúng tôi có một phần nền tảng hệ thống khác điều khiển giỏ hàng. Làm thế nào nó hoạt động thực sự đơn giản khủng khiếp
- [A] Chúng tôi giữ giỏ hàng trong phiên PHP
17 chứa các mặt hàng trong giỏ hàng, ở định dạng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
18-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
19 chứa tổng số lượng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
- [D] Chúng tôi gửi
60 và các tham số cần thiết để thực hiện một hành động. Ví dụ:-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
61 sẽ thêm ID sản phẩm 123 vào giỏ hàng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
-- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
62Lấy tổng số lượng trong giỏ hàng. -- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
63- Chỉ dành cho
64 – Thêm sản phẩm vào giỏ hàng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
64 và-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
12 – Đặt số lượng mặt hàng trong giỏ hàng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
64 và-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
68 – Xóa mặt hàng khỏi giỏ hàng-- [A] PRODUCTS TABLE CREATE TABLE `products` [ `pid` bigint[20] NOT NULL, `name` varchar[255] NOT NULL, `image` varchar[255] NOT NULL, `price` decimal[10,2] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `products` ADD PRIMARY KEY [`pid`]; ALTER TABLE `products` MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
-- [A] PRODUCTS TABLE
CREATE TABLE `products` [
`pid` bigint[20] NOT NULL,
`name` varchar[255] NOT NULL,
`image` varchar[255] NOT NULL,
`price` decimal[10,2] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `products`
ADD PRIMARY KEY [`pid`];
ALTER TABLE `products`
MODIFY `pid` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
69Dọn sạch toàn bộ giỏ hàng. -- [B] ORDERS TABLE
CREATE TABLE `orders` [
`oid` bigint[20] NOT NULL,
`date` datetime NOT NULL DEFAULT current_timestamp[],
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `orders`
ADD PRIMARY KEY [`oid`],
ADD KEY `name` [`name`],
ADD KEY `email` [`email`],
ADD KEY `date` [`date`];
ALTER TABLE `orders`
MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
10Nhận tất cả các mặt hàng trong giỏ hàng. -- [B] ORDERS TABLE
CREATE TABLE `orders` [
`oid` bigint[20] NOT NULL,
`date` datetime NOT NULL DEFAULT current_timestamp[],
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `orders`
ADD PRIMARY KEY [`oid`],
ADD KEY `name` [`name`],
ADD KEY `email` [`email`],
ADD KEY `date` [`date`];
ALTER TABLE `orders`
MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
11Kiểm tra giỏ hàng hiện tại
2 Tên khách hàng-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
8 Email khách hàng-- [B] ORDERS TABLE CREATE TABLE `orders` [ `oid` bigint[20] NOT NULL, `date` datetime NOT NULL DEFAULT current_timestamp[], `name` varchar[255] NOT NULL, `email` varchar[255] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `orders` ADD PRIMARY KEY [`oid`], ADD KEY `name` [`name`], ADD KEY `email` [`email`], ADD KEY `date` [`date`]; ALTER TABLE `orders` MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
PHẦN 4] TRANG MUA SẮM
4A] TRANG MUA SẮM HTML
cửa hàng 4a. php
-- [B] ORDERS TABLE
CREATE TABLE `orders` [
`oid` bigint[20] NOT NULL,
`date` datetime NOT NULL DEFAULT current_timestamp[],
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `orders`
ADD PRIMARY KEY [`oid`],
ADD KEY `name` [`name`],
ADD KEY `email` [`email`],
ADD KEY `date` [`date`];
ALTER TABLE `orders`
MODIFY `oid` bigint[20] NOT NULL AUTO_INCREMENT;
9Đó là tất cả cho dự án này và đây là một phần nhỏ về một số tính năng bổ sung có thể hữu ích cho bạn
LƯU Ý & Ý TƯỞNG CẢI TIẾN
Nhà phát triển của tôi cảm thấy ngứa ran, tôi có thể cảm thấy lũ quỷ khổng lồ đập bàn phím của họ. Tất nhiên, đây chỉ là một hướng dẫn và một giỏ hàng barebones. Còn rất nhiều việc phải làm trước khi nó trở thành một “hệ thống giỏ hàng hoàn chỉnh”
- Nếu bạn chưa có hệ thống người dùng hiện tại – tôi sẽ để lại một số liên kết bên dưới
- Hoàn thành trình tự thanh toán của riêng bạn – Thu thập thêm thông tin khách hàng, gửi email, v.v…
- Tích hợp cổng thanh toán của riêng bạn – Paypal, Stripe, Venmo, Payoneer Apple Pay, Google Pay, v.v…
- Xây dựng bảng quản trị của riêng bạn để quản lý mọi thứ tốt hơn
- Báo cáo
- Dành cho các bạn đang nghĩ đến “tùy chỉnh sản phẩm” và “tùy chọn sản phẩm” – Hãy xem sơ đồ ERD này và bạn sẽ biết nó phức tạp như thế nào. Tôi không thể trả lời câu hỏi đó trong một vài dòng, thay vào đó hãy lấy Sách điện tử của tôi. 😛
Đúng, bạn đang xây dựng hệ thống của riêng mình ở đây – Việc hoàn thành phần còn lại tùy thuộc vào bạn. Chúc may mắn
GIỎ HÀNG TỐT HƠN
Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc