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..0a50468 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 */ }); @@ -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}` 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