Lập trình giỏ hàng bằng php trong 2h

Các bạn thân mến, bài viết này Thầy hướng dẫn cụ thể các bạn cách tạo chức năng shopping cart cho một website. Cho dù bạn lập trình với một ngôn ngữ nào đi chăng nữa thì tư duy lập trình giỏ hàng đều giống nhau. Mời các bạn theo dõi các bước hướng dẫn lập trình giỏ hàng bằng PHP trong 2 giờ của Thầy Trần Bá Hộ ngay sau đây.

Trong bài này, bao gồm:

1. Phân tích và thiết kế database – bước nền tảng trong lập trình 

Database là nền tảng để các bạn lập trình đúng quy trình của chức năng giỏ hàng. Với “Lập trình giỏ hàng trong 2 giờ“, Thầy Hộ giới thiệu với các bạn database đơn giản nhất có thể. Cho dù đó là CSDL quan hệ hay không quan hệ thì các bảng liên quan trong database phải như sơ đồ ERD sau đây.

erd - sơ đồ quan hệ thực thể - lập trình giỏ hàng trong 2 giờ

Từ sơ đồ quan hệ thực thể (ERD), các bạn chú ý mối quan hệ các bảng: User, Donhang, Donhangchitiet, Products. Đây là các bảng đóng vai trò chính cho chức năng shopping cart của website.

Cũng với tư duy phân tích thực thể đúng đắn đó, Thầy Hộ sử dụng các bảng sau đây cho các bước lập trình tiếp theo. 

lâp trình giỏ hàng băng php - thiết kế database

2. Chuẩn bị dữ liệu đầu vào (form sẽ lấy dữ liệu) – đây là bước quan trọng tiếp theo trong “Lập trình giỏ hàng bằng php trong 2 giờ”

– Các bạn kiểm tra thuộc tính action của form, phải được action về đúng vị trí code ở controller sẽ nhận dữ liệu. Form đã có thuộc tính method=”post” chưa?

– Các bạn kiểm tra các input hidden (type=”hidden”) lưu trữ các dữ liệu tương ứng của một sản phẩm cần truyền tới controller. Mỗi input hidden phải có giá trị của thuộc tính name – đây là cơ sở để lấy giá trị từng input.

– Các bạn lưu ý nút “đặt hàng” có phải là input type=”submit” chưa?

Nếu tất cả đã ổn các bạn sẽ qua bước tiếp theo.

01-form hiển thị sản phẩm - lập trình giỏ hàng php trong 2 giờ

3. Controller nhận dữ liệu, xử lý và trả kết quả

– Đây là nơi nhận dữ liệu từ form. Xác nhận dữ liệu đúng, tìm kiếm Model (function) thực thi yêu cầu và trả về kết quả.

– Ở đây, sau khi nhận dữ liệu, Controller tạo một mảng con chứa các thông tin vừa nhận từ form. Sau đó đẩy (push) mảng con này vào mảng giỏ hàng. Giỏ hàng đã được khởi tạo bằng session từ phần đầu tiên của trang web.

03-start_sesion - khởi tạo giỏ hàng từ khi khởi tạo trang web
02-addcart - thêm sản phẩm vào giỏ hàng session - lap trình php

– Quá trình thêm sản phẩm vào giỏ hàng (add to cart) cũng sẽ được kiểm tra. Nếu có sản phẩm trùng thì chỉ cần cập nhật số lượng sản phẩm trong giỏ hàng.

– Tiếp tục, hệ thống sẽ tự động chuyển đến trang hiển thị giỏ hàng.

07-viewcart - lap trinh gio hang bang php trong 2 giờ

4. Hành động tại trang giỏ hàng

Tại trang hiển thị giỏ hàng hệ thống sẽ có những chức năng: xóa 1 sản phẩm, xóa toàn bộ giỏ hàng, tiếp tục đặt hàng, thanh toán.

Xóa 1 sản phẩm trong giỏ hàng hoặc xóa toàn bộ giỏ hàng?

04-delcart - xóa giỏ hàng - lập trình giỏ hàng bằng php trong 2 giờ

5. Trang đơn hàng – đây là bước đáng chú ý nhất trong “lập trình đơn hàng bằng php trong 2 giờ”

– Tại trang hiển thị giỏ hàng, nếu các bạn quyết định thanh toán, thì hệ thống sẽ chuyển tới trang đơn hàng.

– Trang đơn hàng sẽ có 2 phần: phần hiển thị lại thông tin giỏ hàng và phần form thông tin khách đặt hàng.

– Phần form thông tin khách đặt hàng (hay còn gọi là thông tin giao hàng) sẽ để trống nếu người dùng không đăng nhập. Hoặc nếu người dùng đã đăng nhập thì các bạn cho show thông tin người dùng vào form này. Trong form này bao gồm: phương thức thanh toán. 

– Ngoài ra, trang đơn hàng còn có thêm mã khuyến mãi nếu cần.

– Các bạn có thể tạo mã đơn hàng ở bước này lưu vào input hidden. Mã đơn hàng có thể tạo random từ chữ và số. Việc này tạo thuận tiện cho việc tạo đơn hàng ở bước tiếp theo.

09-thongtindathang - lap trình gio hang bang php
08-thongtingiohang-donhang - lập trình giỏ hàng bằng php trong 2 giờ

6. Tạo đơn hàng – bước kết thúc quá trình lập trình giỏ hàng php với 2 giờ

– Tại trang đơn hàng, sau khi các bạn nhấn nút “Thanh toán” thì hệ thống sẽ tạo đơn hàng. Lúc này, chúng ta có thể lấy id đơn hàng bằng phương thức getLastId() từ phương thức kết nối PDO.

– Một thao tác quan trọng tiếp theo là: lấy id đơn hàng, kết hợp với việc đọc từng sản phẩm trong giỏ hàng session để lưu vào tbl_cart trong database.

Đây là bước làm cực kỳ quan trọng các bạn nên chú ý thật kỹ.

05-donhang- lập trình giỏ hàng trong 2 giờ

Trên đây, là các bước trong quá trình lập trình giỏ hàng băng php trong 2 giờ. Các bước tiếp theo để hoàn thiện chức năng shopping cart các bạn có thể tìm hiểu và hoàn thiện hơn như: gửi mail, quản lý tiến độ đơn hàng, …

Trong tất cả các bước thực hiện trên, chúng ta có sử dụng một số hàm trong phần Model của giỏ hàng đơn hàng sau đây.

06-model-cart-donhang - thư viện model - lập trình giỏ hàng bằng PHP trong 2 giờ

7. Clip full lập trình giỏ hàng bằng php trong 2 giờ

Để hiểu rõ hơn các bước hướng dẫn trên, các bạn có thể tham khảo video clip sau đây

Chúc các bạn thành công nhé! 

————————–

Mọi hỗ trợ các bạn có thể liên hệ với Thầy Hộ Fpoly qua thông tin sau:

Zalo: Thầy Hộ Web

Facebook: Trần Bá Hộ

Fanpage: Thầy Hộ Web – Follow Me

Youtube: Thầy Hộ Web

————————–

Các bạn có thể tham khảo khóa học miễn phí lập trình php full chức năng, qua bài viết sau: 

Chinh phục Lập trình PHP & mySQL trong 8 giờ

Trả lời

Email của bạn sẽ không được hiển thị công khai.