diff --git a/shop-routes/order.js b/shop-routes/order.js index a40973603911a1c7d22b1ca911ff63c1bbf4359a..4484aab6a5e6053b68e0ce4291addd0ac837b6c7 100644 --- a/shop-routes/order.js +++ b/shop-routes/order.js @@ -45,11 +45,9 @@ router.get('/history', isAuthenticated, async (req, res) => { // ดูรายละเอียดออเดอร์ (เฉพาะผู้ที่ Login) router.get('/detail/:orderId', isAuthenticated, async (req, res) => { try { - const sessionId = req.session.id; - const [orders] = await pool.query( - `SELECT * FROM orders WHERE id = ? AND session_id = ?`, - [req.params.orderId, sessionId] + 'SELECT * FROM orders WHERE id = ? AND session_id = ?', + [req.params.orderId, req.session.id] ); if (orders.length === 0) { @@ -59,10 +57,11 @@ router.get('/detail/:orderId', isAuthenticated, async (req, res) => { const order = orders[0]; const [items] = await pool.query( - `SELECT order_items.*, products.name, products.image_url - FROM order_items - JOIN products ON order_items.product_id = products.id - WHERE order_items.order_id = ?`, + `SELECT + order_items.*, products.name, products.image_url + FROM order_items + JOIN products ON order_items.product_id = products.id + WHERE order_items.order_id = ?`, [req.params.orderId] ); @@ -144,35 +143,6 @@ router.post('/create', isAuthenticated, async (req, res) => { } }); -// อัปเดตที่อยู่จัดส่งของออเดอร์ -router.put('/update-address/:orderId', isAuthenticated, async (req, res) => { - const { shipping_address } = req.body; - const orderId = req.params.orderId; - - try { - // ตรวจสอบว่าออเดอร์เป็นของผู้ใช้ปัจจุบัน - const [order] = await pool.query( - 'SELECT * FROM orders WHERE id = ? AND session_id = ?', - [orderId, req.session.id] - ); - - if (order.length === 0) { - return res.status(404).json({ success: false, message: 'Order not found or unauthorized' }); - } - - // อัปเดตที่อยู่จัดส่ง - await pool.query( - 'UPDATE orders SET shipping_address = ? WHERE id = ?', - [shipping_address, orderId] - ); - - res.json({ success: true, message: 'Shipping address updated successfully' }); - } catch (error) { - console.error(error); - res.status(500).json({ success: false, message: 'Error updating shipping address' }); - } -}); - router.get('/confirmation', (req, res) => { res.render('confirmation'); }); diff --git a/views/checkout.ejs b/views/checkout.ejs index b143dc0f3d6a9e73796cbd050043710d6ab97d36..3b0a7129c10b870f34a4438a22c2022ae58107c8 100644 --- a/views/checkout.ejs +++ b/views/checkout.ejs @@ -8,20 +8,16 @@ <% } else { %> <div class="order-summary"> <h3>Order Summary</h3> - <% if (cartItems.length > 0) { %> - <% cartItems.forEach(item => { %> - <div class="order-item"> - <span><%= item.name %> x <%= item.quantity %></span> - <span>฿<%= (item.price * item.quantity).toLocaleString() %></span> - </div> - <% }); %> - <div class="total"> - <strong>Total:</strong> - <strong>฿<%= total.toLocaleString() %></strong> + <% cartItems.forEach(item => { %> + <div class="order-item"> + <span><%= item.name %> x <%= item.quantity %></span> + <span>฿<%= (item.price * item.quantity).toLocaleString() %></span> </div> - <% } else { %> - <p>Your cart is empty.</p> - <% } %> + <% }); %> + <div class="total"> + <strong>Total:</strong> + <strong>฿<%= total.toLocaleString() %></strong> + </div> </div> <form action="/order/create" method="POST" class="checkout-form"> @@ -29,36 +25,8 @@ <label for="address">Shipping Address:</label> <textarea name="address" required></textarea> </div> - <button type="submit" style="margin: 0; padding: 0.5rem 1rem;">Place Order</button> + <button type="submit" style="margin: 0; padding: 0.5rem 1rem;" > Place Order</button> </form> - - <h3>Your Orders</h3> - <% if (orders.length > 0) { %> - <table border="1"> - <thead> - <tr> - <th>Order ID</th> - <th>Total Amount</th> - <th>Status</th> - <th>Shipping Address</th> - <th>Created At</th> - </tr> - </thead> - <tbody> - <% orders.forEach(order => { %> - <tr> - <td><%= order.id %></td> - <td>฿<%= order.total_amount.toLocaleString() %></td> - <td><%= order.status %></td> - <td><%= order.shipping_address %></td> - <td><%= order.created_at %></td> - </tr> - <% }) %> - </tbody> - </table> - <% } else { %> - <p>No orders found.</p> - <% } %> <% } %> </div> diff --git a/views/order-details.ejs b/views/order-details.ejs index 63d22c7e79100c58672c717e4e7b8b45d55bc2bb..d35b58627bc886272fcbd4493f131a346a5faafe 100644 --- a/views/order-details.ejs +++ b/views/order-details.ejs @@ -11,11 +11,7 @@ <div class="info-section"> <h3>Shipping Address</h3> - <p id="currentAddress"><%= order.shipping_address %></p> - - <!-- Input สำหรับแก้ไขที่อยู่ --> - <input type="text" id="newAddress" placeholder="Enter new address"> - <button onclick="updateAddress(<%= order.id %>)">Update Address</button> + <p><%= order.shipping_address %></p> </div> </div> @@ -41,32 +37,4 @@ <a href="/" class="continue-shopping">Continue Shopping</a> </div> </div> - -<script> - function updateAddress(orderId) { - const newAddress = document.getElementById("newAddress").value; - - if (!newAddress.trim()) { - alert("Please enter a valid address."); - return; - } - - fetch(`/order/update-address/${orderId}`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ shipping_address: newAddress }) - }) - .then(response => response.json()) - .then(data => { - if (data.success) { - document.getElementById("currentAddress").innerText = newAddress; - alert("Address updated successfully!"); - } else { - alert("Failed to update address."); - } - }) - .catch(error => console.error("Error:", error)); - } -</script> - <%- include('partials/footer') %> \ No newline at end of file