From d2a91a2640343bf6bc670baae72b02151950299f Mon Sep 17 00:00:00 2001 From: 65160270 <65160270@go.buu.ac.th> Date: Tue, 25 Mar 2025 16:32:08 +0700 Subject: [PATCH] update-server --- server.js | 21 +++++++++++++++++++++ views/cart.ejs | 28 +++++++++++++++++----------- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/server.js b/server.js index 948a9b9..bc89235 100644 --- a/server.js +++ b/server.js @@ -62,6 +62,27 @@ app.get('/order/checkout', isLoggedIn, (req, res) => { res.render('checkout'); }); +app.post("/cart/update", async (req, res) => { + try { + const { cartItemId, quantity } = req.body; + + if (quantity < 1) { + return res.status(400).json({ message: "Quantity must be at least 1" }); + } + + // อัปเดตจำนวนสินค้าในฐานข้อมูล + await pool.execute( + "UPDATE cart SET quantity = ? WHERE id = ?", + [quantity, cartItemId] + ); + + res.json({ success: true, message: "Cart updated" }); + } catch (error) { + console.error("Update error:", error); + res.status(500).json({ message: "Update failed" }); + } +}); + app.get('/register', (req, res) => { res.render('register'); }); diff --git a/views/cart.ejs b/views/cart.ejs index e3456ed..896407c 100644 --- a/views/cart.ejs +++ b/views/cart.ejs @@ -63,17 +63,23 @@ </div> <script> - document.querySelectorAll('.edit-btn').forEach(button => { - button.addEventListener('click', (event) => { - const cartItem = event.target.closest('.cart-item'); - const editButton = cartItem.querySelector('.edit-btn'); - const removeForm = cartItem.querySelector('.remove-form'); - - // ซ่อนปุ่ม Edit - editButton.style.display = 'none'; - - // แสดงปุ่ม Remove - removeForm.style.display = 'block'; + document.querySelectorAll(".update-btn").forEach(button => { + button.addEventListener("click", async (event) => { + const cartItem = event.target.closest(".cart-item"); + const cartItemId = cartItem.dataset.id; + const quantity = cartItem.querySelector("input[name='quantity']").value; + + const response = await fetch('/cart/update', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ cartItemId, quantity }) + }); + + if (response.ok) { + window.location.reload(); // รีเฟรชหน้าหลังอัปเดต + } else { + alert("Failed to update cart."); + } }); }); </script> -- GitLab