Baca Juga :  Cara Merubah Sender Name Dan Email di WordPress

Menambahkan Beberapa Produk ke dalam Shopping Cart menggunakan PHP

0 6,599


Di situs web e-commerce atau toko online, pasti menggunakan fungsi add to cart untuk melakukan pemesanan. Kita perlu memfasilitasi pembeli sebanyak mungkin dengan menambahkan fitur yang diperlukan ke keranjang belanja. Misalnya, dengan memberikan drag and drop dapat menjadi fitur utama dalam keranjang belanja dan meningkatkan penjualan. Sebelumnya, dalam contoh shopping cart PHP, saya telah menambahkan input untuk memasukkan jumlah produk dengan opsi add dan delete. Seperti ini, kamu perlu mencari peluang untuk membuat pembeli nyaman atau sebagai pengguna dalam aplikasi POS.

Menambahkan beberapa produk ke shopping cart akan membantu pengguna untuk menambahkan secara massal. Saya telah menambahkan kotak centang untuk setiap item di galeri produk. Pengguna akan memilih produk dengan menggunakan kotak centang ini. Setelah pengguna menyelesaikan daftar produk yang ingin ia beli, ia dapat memindahkan semuanya ke keranjang dengan mengklik tombol add to cart.

Galeri Produk dengan Opsi add to Cart

Kode HTML ini digunakan untuk menampilkan galeri produk setelah membaca produk dari database. Setiap item produk ditampilkan sebagai tambahan opsi kotak centang. Kotak centang ini digunakan untuk memilih produk jika pengguna ingin memindahkannya ke cart. Setelah memilih produk favorit dengan menggunakan kotak centang ini, tombol add to cart digunakan untuk mengirim sebagian besar produk yang dipilih.

<div id="product-grid">
    <div class="txt-heading">
        <div class="txt-heading-label">Products</div>
    </div>
    <?php
    $query = "SELECT * FROM tbl_product";
    $product_array = $shoppingCart->getAllProduct($query);
    if (! empty($product_array)) {
        ?>
        <form method="post" action="index.php?action=add">
        <div>
        	<?php
        foreach ($product_array as $key => $value) {
            ?>
        <div class="product-item"
                id="product-item-<?php echo $product_array[$key]["id"]; ?>">


                <div class="product-image">
                    <img
                         data-src="<?php echo $product_array[$key]["image"]; ?>"
                        onclick="selectImage(<?php echo $product_array[$key]["id"] ?>);" />
                    <div class="product-title">
                        <input type="checkbox" class="checkstatus"
                            name="chk_product[]"
                            data-id="<?php echo $product_array[$key]["id"]; ?>"
                            data-code="<?php echo $product_array[$key]["code"]; ?>"><?php echo $product_array[$key]["name"]; ?></br>
			<?php echo "Rp".$product_array[$key]["price"]; ?></br>
                    </div>
                </div>


                <input type="hidden" name="selected_product[]"
                    id="product-<?php echo $product_array[$key]["id"]?>"
                    value="" />


            </div>
    <?php
        }
        ?>
         </div>
        <div>
            <input type="submit" name="add_to_cart" value="Add to Cart"
                class="btn-submit" />
        </div>
    </form>
		<?php
    }
    ?>
</div>

Skrip jQuery ini digunakan untuk menyorot item produk dengan mengklik kotak centang. Selain itu, ia menetapkan identitas produk yang dipilih dalam bidang tersembunyi yang diakses oleh PHP setelah mengirimkan produk yang dipilih.

<script>
	$("input[type=checkbox]").on("click", function() {
		var product_id = $(this).data("id");
		var product_code = $(this).data("code");


        	if($(this).is(":checked")){
            	$("#product-item-"+product_id).css("border","#d96557 3px solid");
            	$("#product-"+product_id).val(product_code);
        	}
        	else if($(this).is(":not(:checked)")){
            	$("#product-item-"+product_id).css("border","none");
            	$("#product-"+product_id).val("	");
        	}
	});
</script>

Kode PHP untuk memproses Tambah Massal ke Cart

Setelah mengirimkan sejumlah besar produk melalui formulir HTML, PHP menerima array produk yang dipilih dan memproses tindakan add to cart secara massal. Saya menggunakan persisten cart dengan bantuan basis data untuk mempertahankan item keranjang yang dipilih bahkan setelah sesi pengguna berakhir. Saya telah mengulangi susunan produk yang dipilih dan memproses tindakan add to cart di setiap iterasi. Saat menambahkan produk ke keranjang, saya memeriksa apakah produk sudah ada di troli. Jika demikian, saya memperbaruinya dengan menambah jumlahnya alih-alih menambahkan entri baru.

Baca Juga :  Cara Menghilangkan Auto Update Plugin Wordpress
$shoppingCart = new ShoppingCart();
if (! empty($_GET["action"])) {
    switch ($_GET["action"]) {
        case "add":
            if (! empty($_POST["selected_product"])) {
				foreach($_POST["selected_product"] as $product_code) {
                
					$productResult = $shoppingCart->getProductByCode($product_code);
					
					$cartResult = $shoppingCart->getCartItemByProduct($productResult[0]["id"], $member_id);
					
					if (! empty($cartResult)) {
						// Update cart item quantity in database
						$newQuantity = $cartResult[0]["quantity"] + 1;
						$shoppingCart->updateCartQuantity($newQuantity, $cartResult[0]["id"]);
					} else {
						// Add to cart table
						$shoppingCart->addToCart($productResult[0]["id"], 1, $member_id);
					}
				}
            }
            break;
        case "remove":
            // Delete single entry from the cart
            $shoppingCart->deleteCartItem($_GET["id"]);
            break;
        case "empty":
            // Empty cart
            $shoppingCart->emptyCart($member_id);
            break;
    }
}

Output Add to Cart PHP Massal

Tangkapan layar ini menunjukkan galeri produk keranjang belanja dengan produk yang dipilih. Produk yang dipilih dalam status dicentang dan disorot dalam tangkapan layar.

Demo

Get real time updates directly on you device, subscribe now.

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.