Gitlab@Informatics

Skip to content
Snippets Groups Projects
Commit 5ce2bb44 authored by 65160270's avatar 65160270
Browse files

update-cart

parent 99c7127f
Branches
No related tags found
No related merge requests found
...@@ -6,11 +6,10 @@ const fs = require("fs"); ...@@ -6,11 +6,10 @@ const fs = require("fs");
const router = express.Router(); const router = express.Router();
// ตรวจสอบว่ามีโฟลเดอร์อัปโหลดหรือยัง // ตั้งค่าที่เก็บไฟล์รูป
const uploadDir = "public/uploads"; const uploadDir = "public/uploads";
if (!fs.existsSync(uploadDir)) { if (!fs.existsSync(uploadDir)) {
fs.mkdirSync(uploadDir, { recursive: true }); fs.mkdirSync(uploadDir, { recursive: true });
console.log("✅ Created upload directory:", uploadDir);
} }
// ตั้งค่า Multer สำหรับอัปโหลดรูป // ตั้งค่า Multer สำหรับอัปโหลดรูป
...@@ -24,53 +23,34 @@ const storage = multer.diskStorage({ ...@@ -24,53 +23,34 @@ const storage = multer.diskStorage({
}); });
const upload = multer({ storage: storage }); 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) => { router.get("/add", (req, res) => {
console.log("🔥 [DEBUG] GET /products/add called");
res.render("product_add", { message: "" }); res.render("product_add", { message: "" });
}); });
// 📌 เพิ่มสินค้าใหม่พร้อมรูป // เพิ่มสินค้าใหม่พร้อมรูป
router.post("/add", upload.single("image"), async (req, res) => { router.post("/add", upload.single("image"), async (req, res) => {
console.log("🔥 [DEBUG] POST /products/add called"); console.log("req.file:", req.file); // ตรวจสอบว่า multer ได้รับไฟล์หรือไม่
console.log("📂 Uploaded file:", req.file); console.log("req.body:", req.body); // ตรวจสอบค่าที่ส่งมาในฟอร์ม
console.log("📦 Request body:", req.body);
try { try {
const { name, price, stock } = req.body; const { name, price, stock, description } = req.body;
if (!name || !price || !stock || !req.file) { if (!name || !price || !stock || !description || !req.file) {
return res.status(400).send("กรุณากรอกข้อมูลให้ครบถ้วน และเลือกรูปภาพ"); return res.status(400).json({ message: "กรุณากรอกข้อมูลให้ครบถ้วน และเลือกรูปภาพ" });
} }
const imagePath = "/uploads/" + req.file.filename; const imagePath = "/uploads/" + req.file.filename;
// 🔹 Debug: แสดงค่าที่จะใส่เข้า DB const sql = "INSERT INTO products (name, price, stock, description, image_url) VALUES (?, ?, ?, ?, ?)";
console.log("📌 Inserting product:", { name, price, stock, imagePath }); const values = [name, price, stock, description, imagePath];
await pool.execute( await pool.execute(sql, values);
"INSERT INTO products (name, price, stock, image_url) VALUES (?, ?, ?, ?)",
[name, price, stock, imagePath]
);
console.log("✅ Product added successfully!");
res.redirect("/products"); res.redirect("/products");
} catch (error) { } catch (error) {
console.error("❌ Error adding product:", 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 });
} }
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment