require("dotenv").config(); const express = require("express"); const mysql = require('mysql2/promise'); const bodyParser = require("body-parser"); const app = express(); const PORT = process.env.PORT || 3000; app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Database configuration const pool = mysql.createPool({ host: process.env.DB_HOST , port: process.env.DB_PORT , user: process.env.DB_USER , password: process.env.DB_PASSWORD , database: process.env.DB_NAME , waitForConnections: true, connectionLimit: 10, queueLimit: 0 }); // Check database connection async function testConnection() { try { const connection = await pool.getConnection(); await connection.ping(); console.log('Database connection succeeded.'); connection.release(); } catch (err) { console.error('Database connection failed:', err); process.exit(1); // Terminate the app if the database connection fails } } testConnection(); // ตั้งค่า Middleware app.set("view engine", "ejs"); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static("public")); // ดึงรายการทัวร์ app.get("/", (req, res) => { // pool.query("SELECT * FROM tours", (err, results) => { // if (err) throw err; res.render("index"); }); // }); // เพิ่มทัวร์ใหม่ app.post("/add", (req, res) => { const { name, location, price, description } = req.body; const sql = "INSERT INTO tours (name, location, price, description) VALUES (?, ?, ?, ?)"; pool.query(sql, [name, location, price, description], (err) => { if (err) throw err; res.redirect("/"); }); }); // เริ่มเซิร์ฟเวอร์ app.listen(PORT, () => { console.log(`Server running on http://localhost:${PORT}`); });