Tạo vận dụng giỏ hàng tốt Shopping Cart luôn luôn luôn là 1 phần quan trọng nhất so với người làm web. Với sự cải cách và phát triển như vũ bão của thương mại dịch vụ điện tử, thì ngày càng có không ít website bán sản phẩm với đầy đủ thể các loại xuất hiện. Thực tiễn thì khi kiến tạo một website cung cấp hàng, chúng ta không cần phải tự thiết kế gì nhiều, vì có khá nhiều mã mối cung cấp mở cung cấp việc thành lập một cửa hàng online như Magento, CS Cart, Presstashop….. Nhưng làm cái gi thì làm, ví như các bạn cũng có thể tự xây cất cho bản thân một giỏ hàng riêng, thì vừa có thể nâng cấp khả năng lập trình, vừa rất có thể hiểu rõ rộng về bề ngoài mà một website bán sản phẩm cần có.
Bạn đang xem: Class giỏ hàng php
Hôm nay, trong bài viết này, mình đang cùng chúng ta từng cách tạo một giỏ hàng đơn giản và dễ dàng bằng PHP. Với qua bài viết này, các bạn có thể tự phát triển cải thiện hơn để sở hữu một giỏ hàng may mắn cho chính website của mình.

Xem test | Download
Đầu tiên, các bạn cần tạo 4 file tiếp sau đây cho giỏ hàng (shopping cart) của chính bản thân mình :
Config.php (kết nối cơ sở dữ liệu)Index.php (trang hiển thị danh sách thành phầm từ database)Cart_update.php (cập nhật giỏ hàng)View_cart.php (xem tổng quan tiền giỏ hàng trước khi thanh toán)Okie, thay là xong, và hiện nay chúng ta sẽ thực hiện từng bước.
Bước 1 : Tạo các đại lý dữ liệu
Trước hết, bọn họ cần gồm một tài liệu lưu thông tin thành phầm như tên sản phẩm, hình hình ảnh sản phẩm đó… như đoạn sql sau :
CREATE TABLE IF NOT EXISTS `products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_code` varchar(60) NOT NULL, `product_name` varchar(60) NOT NULL, `product_desc` tinytext NOT NULL, `product_img_name` varchar(60) NOT NULL, `price` decimal(10,2) NOT NULL, PRIMARY KEY (`id`), unique KEY `product_code` (`product_code`)) AUTO_INCREMENT=1 ;Nếu chúng ta không biết sử dụng câu lệnh sql nhằm tạo, thì rất có thể vào PhpMyAdmin để chế tác theo cấu tạo sql bên trên. Khi tạo ra bảng (table) xong, các bạn cũng có thể chèn thêm danh sách các sản phẩm vào table như hình minh họa sau :

Bước 2 : liên kết cơ sở dữ liệu
Một khi chúng ta đã có dữ liệu lưu trữ tin tức sản phẩm, họ sẽ tiến hành kết nối với dữ liệu để hiện nay thị sản phẩm ra màn hình. Các bạn mở file config.php ra cùng copy đoạn code sau vào bên phía trong nó :
Các các bạn nhớ đổi khác giá trị theo những ghi chú nhưng mà mình ghi bên cạnh nhé.
Bước 3 : Hiển thị thông tin sản phẩm và giỏ hàng
Bây tiếng là thời điểm mà họ sẽ hiển thị list các sản phẩm cần bán,. Vì chúng ta sẽ áp dụng session để lưu tạm thông tin giỏ hàng, phải việc đầu tiên cần có tác dụng là chúng ta phải kích hoạt session . Mở tệp tin index.php ra với copy đoạn code sau dính vào nó :
Trang index.php này đã hiển thị 2 nội dung, nội dung thứ 1 đã liệt kê các thành phầm (nằm sinh hoạt giữa) với nội dung thứ 2 hiển thị giỏ hảng (nằm bên đề xuất kế bên).
Xem thêm: format object to array php
Liệt kê sản phẩm
Các các bạn copy đoạn code sau với dán nó vào tiếp trong file index.php nhằm hiển thị các sản phầm từ bỏ database :
query("SELECT * FROM products ORDER BY id ASC"); if ($results) //output results from database while($obj = $results->fetch_object()) echo '

'; echo 'product_code.'" />'; echo ''; echo ''; echo ''; echo '
Your Shopping Cart
'; foreach ($_SESSION<"products"> as $cart_itm) echo ''; $subtotal = ($cart_itm<"price">*$cart_itm<"qty">); $total = ($total + $subtotal); echo ''; echo 'Total : '.$currency.$total.' Check-out!'; echo 'Empty Cart';else echo 'Your Cart is empty';?>Bước 4 : update giỏ hàng
Giỏ hàng vẫn có tính năng là thêm và xóa thành phầm khi gửi vào giỏ. Khi các bạn click vào nút “Add khổng lồ Cart“, form đang gửi một giá trị hidden là mã sản phẩm (product code) với số lượng (quantity) mang đến file Cart_update.php thông qua phương thức POST. Chúng ta sẽ áp dụng những tin tức được gửi đến này để đưa thông tin sản phẩm từ database. Các bạn copy đoạn code dưới và dán lại file Cart_update.php. Từng một câu lệnh tất cả để ghi chú, các bạn cũng có thể xem rất nhiều dòng ghi chú này để làm rõ code hơn.
10) die('
'); //MySqli query - get details of công trình from db using sản phẩm code $results = $mysqli->query("SELECT product_name,price FROM products WHERE product_code='$product_code' LIMIT 1"); $obj = $results->fetch_object(); if ($results) //we have the product info //prepare array for the session variable $new_product = array(array('name'=>$obj->product_name, 'code'=>$product_code, 'qty'=>$product_qty, 'price'=>$obj->price)); if(isset($_SESSION<"products">)) //if we have the session $found = false; //set found chiến thắng to false foreach ($_SESSION<"products"> as $cart_itm) //loop through session array if($cart_itm<"code"> == $product_code) //the chiến thắng exist in array $product<> = array('name'=>$cart_itm<"name">, 'code'=>$cart_itm<"code">, 'qty'=>$product_qty, 'price'=>$cart_itm<"price">); $found = true; else //item doesn't exist in the list, just retrive old info & prepare array for session var $product<> = array('name'=>$cart_itm<"name">, 'code'=>$cart_itm<"code">, 'qty'=>$cart_itm<"qty">, 'price'=>$cart_itm<"price">); if($found == false) //we didn't find thành phầm in array //add new user tòa tháp in array $_SESSION<"products"> = array_merge($product, $new_product); else //found user sản phẩm in array list, and increased the quantity $_SESSION<"products"> = $product; else //create a new session var if does not exist $_SESSION<"products"> = $new_product; //redirect back to original page header('Location:'.$return_url);//remove vật phẩm from shopping cartif(isset($_GET<"removep">) && isset($_GET<"return_url">) && isset($_SESSION<"products">)) $product_code = $_GET<"removep">; //get the product code to remove $return_url = base64_decode($_GET<"return_url">); //get return url foreach ($_SESSION<"products"> as $cart_itm) //loop through session array var if($cart_itm<"code">!=$product_code) //item does,t exist in the menu $product<> = array('name'=>$cart_itm<"name">, 'code'=>$cart_itm<"code">, 'qty'=>$cart_itm<"qty">, 'price'=>$cart_itm<"price">); //create a new product danh mục for cart $_SESSION<"products"> = $product; //redirect back lớn original page header('Location:'.$return_url);Bước 5 : xem tổng quan giỏ hàng
Bây giờ bọn họ sẽ liệt kê tất cả các thành phầm có trong giỏ hàng, cùng với số lượng, giá tiền, cùng tổng tiền đã phải thanh toán giao dịch trước khi thực hiện ” đặt mua “. Nếu các bạn muốn nâng cao, ở đoạn này các chúng ta cũng có thể chèn thêm tiền thuế, tầm giá giao hàng… các bạn copy đoạn code sau vào tệp tin View_cart.php.
'; echo ''; $cart_items = 0; foreach ($_SESSION<"products"> as $cart_itm) $product_code = $cart_itm<"code">; $results = $mysqli->query("SELECT product_name,product_desc, price FROM products WHERE product_code='$product_code' LIMIT 1"); $obj = $results->fetch_object(); echo ''; $subtotal = ($cart_itm<"price">*$cart_itm<"qty">); $total = ($total + $subtotal); echo 'product_name.'" />'; echo ''; echo 'product_desc.'" />'; echo ''; $cart_items ++; echo ''; echo ''; echo 'Total : '.$currency.$total.' '; echo ''; echo ''; }else echo 'Your Cart is empty'; ?>Thế là chấm dứt rồi đó những bạn, để sở hữu một giỏ sản phẩm đúng nghĩa thì còn có nhiều vấn đề và cụ thể cần thêm vào, mặc dù , chúng ta cần nắm rõ những cách căn bản như trong bài học kinh nghiệm này rồi sau đó mới gồm thể cải thiện lên tự động muốn. Nếu có gì vướng mắc thì đừng rụt rè để lại lời nhắn bên dưới dạng comments nhé.
Chúc chúng ta thành công !
Chuyên Mục: PHP
Bài viết được đăng vì webmaster

Xin chào, darkedeneurope.com là nơi mình sẽ share những thủ thuật, kỹ năng và kiến thức về website cơ mà mình tò mò được. Hy vọng, nó sẽ giúp ích cho đông đảo người.