From 5ce2bb44ddf1047f84bf5606f965211309a1fee4 Mon Sep 17 00:00:00 2001 From: 65160270 <65160270@go.buu.ac.th> Date: Fri, 28 Mar 2025 22:38:29 +0700 Subject: [PATCH] update-cart --- shop-routes/product.js | 46 ++++++++++++------------------------------ 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/shop-routes/product.js b/shop-routes/product.js index 3b9d77a..9aec742 100644 --- a/shop-routes/product.js +++ b/shop-routes/product.js @@ -6,11 +6,10 @@ const fs = require("fs"); const router = express.Router(); -// ตรวจสอบว่ามีโฟลเดอร์อัปโหลดหรือยัง +// ตั้งค่าที่เก็บไฟล์รูป const uploadDir = "public/uploads"; if (!fs.existsSync(uploadDir)) { fs.mkdirSync(uploadDir, { recursive: true }); - console.log("✅ Created upload directory:", uploadDir); } // ตั้งค่า Multer สำหรับอัปโหลดรูป @@ -24,53 +23,34 @@ const storage = multer.diskStorage({ }); const upload = multer({ storage: storage }); -// 🔹 Debug: ตรวจสอบว่าไฟล์นี้ถูกโหลดหรือไม่ -console.log("✅ product.js loaded!"); - -// 📌 ดึงสินค้าทั้งหมด -router.get("/", async (req, res) => { - try { - console.log("🔥 [DEBUG] GET /products called"); - const [products] = await pool.execute("SELECT * FROM products"); - res.render("product", { products }); - } catch (error) { - console.error("❌ Error fetching products:", error); - res.status(500).send("Error loading products."); - } -}); - -// 📌 แสดงฟอร์มเพิ่มสินค้า +// แสดงฟอร์มเพิ่มสินค้า router.get("/add", (req, res) => { - console.log("🔥 [DEBUG] GET /products/add called"); res.render("product_add", { message: "" }); }); -// 📌 เพิ่มสินค้าใหม่พร้อมรูป +// เพิ่มสินค้าใหม่พร้อมรูป router.post("/add", upload.single("image"), async (req, res) => { - console.log("🔥 [DEBUG] POST /products/add called"); - console.log("📂 Uploaded file:", req.file); - console.log("📦 Request body:", req.body); + console.log("req.file:", req.file); // ตรวจสอบว่า multer ได้รับไฟล์หรือไม่ + console.log("req.body:", req.body); // ตรวจสอบค่าที่ส่งมาในฟอร์ม try { - const { name, price, stock } = req.body; - if (!name || !price || !stock || !req.file) { - return res.status(400).send("กรุณากรอกข้อมูลให้ครบถ้วน และเลือกรูปภาพ"); + const { name, price, stock, description } = req.body; + if (!name || !price || !stock || !description || !req.file) { + return res.status(400).json({ message: "กรุณากรอกข้อมูลให้ครบถ้วน และเลือกรูปภาพ" }); } const imagePath = "/uploads/" + req.file.filename; - // 🔹 Debug: แสดงค่าที่จะใส่เข้า DB - console.log("📌 Inserting product:", { name, price, stock, imagePath }); + const sql = "INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)"; + const values = [name, price, stock, description, imagePath]; - await pool.execute( - "INSERT INTO products (name, price, stock, image_url) VALUES (?, ?, ?, ?)", - [name, price, stock, imagePath] - ); + await pool.execute(sql, values); + console.log("✅ Product added successfully!"); res.redirect("/products"); } catch (error) { console.error("❌ Error adding product:", error); - res.status(500).send("Error adding product."); + res.status(500).json({ message: "Internal Server Error", error: error.message }); } }); -- GitLab