Giỏ hàng mã nguồn php mysql

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
    -- (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;
    0
  • Thay đổi cài đặt cơ sở dữ liệu trong
    -- (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;
    1 thành cài đặt của riêng bạn
  • Khởi chạy
    -- (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;
    0 trong trình duyệt
Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

Ả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

  • -- (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;
    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

 

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

  • -- (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;
    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

 

 

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;
1

Cuối cùng, một bảng khác để chứa tất cả các mục đặ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;
    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)
  • -- (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 Số lượng

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;
6

Vớ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
    -- (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;
    
    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
  • (C) 
    -- (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;
    
    14 Hàm trợ giúp để chạy truy vấn SQL
  • (D, E) Chỉ có 2 chức năng “giỏ hàng thực tế”
    • -- (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;
      
      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
  • (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;
1

Tiế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
    • -- (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;
      
      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
  • (D) Chúng tôi gử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;
    
    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
Yêu cầu Mô tả & Thông số
-- (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
    -- (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 – 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;
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
  • -- (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

 

 

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

Làm cách nào để tạo giỏ hàng bằng PHP và MySQL?

Bắt đầu. Có một vài bước chúng ta cần thực hiện trước khi tạo hệ thống giỏ hàng của mình. .
Tạo cơ sở dữ liệu và thiết lập bảng. .
Thiết kế hệ thống giỏ hàng bằng CSS. .
Tạo tệp chức năng. .
Tạo tệp chỉ mục. .
Tạo Trang chủ. .
Tạo trang sản phẩm. .
Tạo trang sản phẩm

Làm cách nào để lưu trữ các mặt hàng trong giỏ hàng trong phiên PHP?

Sử dụng khóa trong biến phiên giỏ hàng. Trong vòng lặp, hãy sử dụng ID làm tham chiếu sản phẩm. $pid = $item ['pid']; . và tăng giá trị lên một nếu nó đã có trong giỏ hàng. Sau đó giảm giá trị bằng cách sử dụng phương pháp tương tự cho nút xóa

Làm cách nào để tạo giỏ hàng đơn giản trong PHP mà không cần cơ sở dữ liệu?

Tất cả hành động của giỏ hàng được thực hiện bằng cách sử dụng jQuery AJAX. .
Thư viện sản phẩm và HTML giỏ hàng. Tôi đã thiết kế landing page gồm 2 phần chính là sản phẩm và giỏ hàng. .
Nhận mảng sản phẩm và tạo thư viện. .
Thao tác giỏ hàng jQuery AJAX. .
Mã PHP để thực hiện hành động giỏ hàng. .
Lớp sản phẩm PHP

Cách thêm vào giỏ hàng hoạt động trong PHP?

Chúng là tính năng thêm vào giỏ hàng, xóa một mặt hàng khỏi giỏ hàng, xóa toàn bộ giỏ hàng và tương tự. Trong đoạn mã trên, tôi đã thêm tùy chọn HTML để thêm sản phẩm vào giỏ hàng từ thư viện sản phẩm. Khi người dùng nhấp vào nút 'Thêm vào giỏ hàng', biểu mẫu HTML sẽ chuyển id sản phẩm tới tập lệnh PHP phụ trợ .