From 2cbf29c2b8cb88d8b9e25cd6668eaf73159f55bb Mon Sep 17 00:00:00 2001 From: 65160270 <65160270@go.buu.ac.th> Date: Fri, 28 Mar 2025 20:56:23 +0700 Subject: [PATCH] update-cart --- shop-routes/product.js | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/shop-routes/product.js b/shop-routes/product.js index b9041d8..6355f44 100644 --- a/shop-routes/product.js +++ b/shop-routes/product.js @@ -41,24 +41,31 @@ router.get("/add", (req, res) => { }); // เพิ่มสินค้าใหม่พร้อมรูป -router.post("/add", upload.single("image"), async (req, res) => { // เปลี่ยนจาก "images" เป็น "image" ให้ตรงกับ name ของ input file - console.log("req.file:", req.file); // ตรวจสอบว่า multer ได้รับไฟล์หรือไม่ +router.post('/add', (req, res) => { + console.log('Request Body:', req.body); // Debug - try { - const { name, price, stock, description } = req.body; // เพิ่ม description + // ดึงข้อมูลจาก req.body + const { name, price, description, stock, image_url } = req.body; - const imagePath = "/uploads/" + req.file.filename; + // ตรวจสอบว่าข้อมูลสำคัญครบหรือไม่ + if (!name || !price || stock === undefined) { + return res.status(400).json({ message: 'Missing required fields' }); + } - await pool.execute( - "INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)", - [name, price, stock, description, imagePath] // เพิ่ม description - ); + // SQL Query รองรับ stock และ image_url + const sql = 'INSERT INTO products (name, price, description, stock, image_url) VALUES (?, ?, ?, ?, ?)'; + const values = [name, price, description || null, stock, image_url || null]; - res.redirect("/products"); - } catch (error) { - console.error("Error adding product:", error); - res.status(500).send("Error adding product."); - } + console.log('SQL Query:', sql, values); // Debug SQL Query + + connection.query(sql, values, (err, result) => { + if (err) { + console.error('MySQL Insert Error:', err); + return res.status(500).json({ message: 'Database error', error: err }); + } + console.log('Product Added:', result); + res.status(201).json({ message: 'Product added successfully', result }); + }); }); // ดึงข้อมูลสินค้าตาม ID และแสดงหน้าแก้ไข -- GitLab