From 3bf1ae63d545a30a27b37d7cb030da4fe84c9238 Mon Sep 17 00:00:00 2001 From: 29apple <58282109+29apple@users.noreply.github.com> Date: Thu, 28 Nov 2019 14:30:57 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E3=85=82=E3=85=A3=EB=B2=88=EB=B0=94?= =?UTF-8?q?=EA=BF=88=E3=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ㅋ --- README.md | 3 +++ app.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5aab8cb..6c66691 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,6 @@ npm install ``` supervisor app.js ``` + +##안녕하세요 +##hi \ No newline at end of file diff --git a/app.js b/app.js index 62ff81a..082bae3 100644 --- a/app.js +++ b/app.js @@ -20,7 +20,7 @@ var mysql = require('mysql'); var conn = mysql.createConnection({ host : 'localhost', user : 'root', - password : 'mysql1234', + password : 'mysqlmysql', database : 'news_stack', port: 3306 /* 8889 on Mac client */ }); From 955837da4c25798786b76378e41c9a951d1b6406 Mon Sep 17 00:00:00 2001 From: 29apple <58282109+29apple@users.noreply.github.com> Date: Wed, 4 Dec 2019 22:51:23 +0900 Subject: [PATCH 2/3] Add files via upload --- app.js | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/app.js b/app.js index 082bae3..0a50468 100644 --- a/app.js +++ b/app.js @@ -67,6 +67,87 @@ app.use('/account', account); var account = require('./routes/admin.js')(app, conn, upload); app.use('/admin', account); +/* 목록 */ +app.get('/news/:id/', (req, res) => { + var sql = 'SELECT * FROM comments'; + conn.query(sql, function(err, comments, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error'); + } else { + res.render('detail', {comments:comments}); + } + }); +}); + +/* 추가 */ +app.get('/news/:id', (req, res) => { + res.render('comments', {}); +}); + +/* Form 데이터 DB INSERT */ +app.post('/news', (req, res) => { + var comments = req.body.comments; + + var sql = 'INSERT INTO news (`comments`) VALUES(?)'; + conn.query(sql, [comments], function(err, result, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error'); + } else { + res.redirect('/news' + result.insertId); + } + }); +}); + + +/* Form 데이터 DB UPDATE */ +app.post('/news/:id/', (req, res) => { + var id = req.params.id; + var cid = req.params.cid; + var comments = req.body.comments; + + var sql = 'UPDATE news SET id = ?, `cid`= ?, `comments` = ? WHERE id = ?;'; + conn.query(sql, [ id, cid, comments,], function(err, err, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error'); + } else { + res.redirect('/news/:id' + id); + } + }); +}); + +/* Delete confirmation +app.get('/news/:id/delete', (req, res) => { + var id = req.params.id; + var sql = 'SELECT * FROM commnet WHERE id=?'; + conn.query(sql, [id], function(err, news, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error'); + } else { + res.render('news_delete', {news:news[0]}); + } + }); +}); + +/* DELETE DB row +app.post('/news/:id/delete', (req, res) => { + var id = req.params.id; + + var sql = 'DELETE FROM news WHERE id = ?'; + conn.query(sql, [id], function(err, result, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error'); + } else { + res.redirect('/news/'); + } + }); +}); + + /* Port listening */ app.listen(port, () => console.log( `Server is running... http://localhost:${port}` From 0ab3f182b0b01bc04967e06f7236a453b93956ab Mon Sep 17 00:00:00 2001 From: 29apple <58282109+29apple@users.noreply.github.com> Date: Wed, 4 Dec 2019 23:45:58 +0900 Subject: [PATCH 3/3] Add files via upload --- routes/news.js | 35 ++++++++++++++-- views/news/detail.ejs | 1 + views/news/includes/comments.ejs | 69 ++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 views/news/includes/comments.ejs diff --git a/routes/news.js b/routes/news.js index b7d860e..d054a84 100644 --- a/routes/news.js +++ b/routes/news.js @@ -153,12 +153,39 @@ module.exports = function(app, conn, upload) { console.log(err); res.status(500).send('Internal Server Error: ' + err); } else { - res.render('news/detail', { - news: news[0], + + + var sql = "SELECT `comments` FROM `comments`"; + conn.query(sql, [], function(err, comments, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error: ' + err); + } else { + var array = []; + for(i=0; i { + console.log(req.body); + var id = req.params.id; + var comments = req.body.comments; + var sql = 'INSERT INTO `comments` (`comments`) VALUES(?)'; + conn.query(sql, [comments], function(err, result, fields){ + if(err){ + console.log(err); + res.status(500).send('Internal Server Error: ' + err); + } else { + res.redirect('/news/'+id); + } + }); + }); return router; -}; +}; \ No newline at end of file diff --git a/views/news/detail.ejs b/views/news/detail.ejs index 109764c..5d2dd3e 100644 --- a/views/news/detail.ejs +++ b/views/news/detail.ejs @@ -43,6 +43,7 @@ 목록 +<%- include('includes/comments'); -%> <% } else { %>

Not exist

<% } %> diff --git a/views/news/includes/comments.ejs b/views/news/includes/comments.ejs new file mode 100644 index 0000000..ee3baf8 --- /dev/null +++ b/views/news/includes/comments.ejs @@ -0,0 +1,69 @@ + + + + +
+ + +
+
+
+ + + +
+
+
+
+
+ +

+ 댓글 내용

+
+
+
+
+
+ +
+
+ <% if (news) { %> + <% for(var i=0; i < comments.length; i++) { %> +
+
+
+
+ <%= comments[i].comments %> +
+
+ 수정 + 삭제 +
+
+
+
+
+ <% } %> + <% } %> + +

댓글 쓰기

+ + + + + + + + +
+ + +

News Home

+ + +
+ + + + + \ No newline at end of file