프로그래밍/Weekly I Learned

2023.10.23+ node.js mysql 연동

타코코딩 2023. 10. 23. 16:59
import express from "express";
import dbConfig from "../db/database.js";

const conn = dbConfig.init();
dbConfig.connect(conn);

const router = express.Router();

let replyList = [{ nid: "1696569917661", replyContent: "1등 ( ͡~ ͜ʖ ͡°)" }];
router.use(express.json());
router.use(express.urlencoded({ extended: true }));

router.get("/", (req, res, next) => {
  const sql = "select nid,url,title,content,left(rdate,10) from news";
  conn.query(sql, (err, rows, fields) => {
    if (err) console.log(err);
    else res.render("list.ejs", { newsList: rows });
  });
});

router.post("/register", (req, res, next) => {
  let { url, title, content } = req.body;
  /*   console.log(req.body);
  const nid = Date.now();
  let rdate = new Date(Date.now());
  rdate = rdate.toLocaleDateString();
  newsList.push({ nid, url, title, content, rdate }); */
  const sql =
    "insert into news(url,title,content,rdate) values(?,?,?,curdate())";
  const params = [url, title, content];
  conn.query(sql, params, (err) => {
    if (err) {
      console.log(err);
    } else {
      res.redirect("/news");
    }
  });
});

router.get("/:nid", (req, res, next) => {
  let id = req.params.nid;
  const sql = "select * from news where nid = ?";
  const sql2 = "select rid,content,nid,redate from news_reply where nid = ?";
  conn.query(sql, id, (err, newsRow, fields) => {
    if (err) {
      console.log(err);
    } else {
      conn.query(sql2, id, (err, replyRow, fields) => {
        if (err) {
          console.log(err);
        } else {
          res.render("detail.ejs", {
            newsList: newsRow[0],
            replyList: replyRow,
          });
        }
      });
    }
  });
});

router.post("/reply", (req, res, next) => {
  const { nid, content } = req.body;
  console.log(nid, "+", content);
  const sql =
    "insert into news_reply(content,NID,redate) values(?,?,sysdate())";
  const params = [content, nid];
  conn.query(sql, params, (err) => {
    if (err) console.log(err);
    else {
      res.status(201).send("reply post 성공");
    }
  });
});
export default router;

'프로그래밍 > Weekly I Learned' 카테고리의 다른 글

2023.10.27 + cookie  (0) 2023.10.27
2023.10.25+ env패턴  (0) 2023.10.25
2023.10.20+ sql delete 외 마무리  (2) 2023.10.20
2023.10.19 + update, alter  (0) 2023.10.19
2023.10.18+ DDL,DML,테이블생성(복제),제거  (0) 2023.10.18