./routes/members.js
var express = require('express');
var router = express.Router();
const pool = require('../db');
const mysql = require('mysql2/promise');
router.get('/', function(req, res, next){
(async () => {
try {
const [results, fields] = await pool.query('SELECT * FROM users');
let data = { users: results };
res.render('members/index', data);
} catch (err) {
console.log(err);
}
})();
});
// レコードの追加
router.get('/add', (req, res, next) => {
res.render('members/add');
});
router.post('/add', (req, res, next) => {
let nm = req.body.name;
let ag = req.body.age;
let data = { 'name' : nm, 'age' : ag };
(async () => {
try {
const [results, fields] = await pool.query('insert into users set ?', data);
res.redirect('/');
} catch (err) {
console.log(err);
}
})();
});
// レコードの表示
router.get('/show/:id', (req, res, next) => {
let id = req.params.id;
(async () => {
try {
const [results, fields] = await pool.query('SELECT * FROM users where id=?', id);
let data = { user: results[0] }
res.render('members/show', data);
} catch (err) {
console.log(err);
}
})();
});
// 編集画面の遷移
router.get('/edit/:id', (req, res, next) => {
let id = req.params.id;
(async () => {
try {
const [results, fields] = await pool.query('SELECT * FROM users where id=?', id);
let data = { user: results[0] }
res.render('members/edit', data);
} catch (err) {
console.log(err);
}
})();
});
// 編集フォーム送信の処理
router.post('/edit', (req, res, next) => {
let id = req.body.id;
let nm = req.body.name;
let ag = req.body.age;
let data = { 'name' : nm, 'age' : ag };
(async () => {
try {
const [results, fields] = await pool.query('UPDATE users SET ? WHERE id = ?', [data, id]);
res.redirect('/');
} catch (err) {
console.log(err);
}
})();
});
// 削除画面への遷移
router.get('/delete/:id', (req, res, next) => {
let id = req.params.id;
(async () => {
try {
const [results, fields] = await pool.query('SELECT * FROM users WHERE id = ?', id);
let data = { user: results[0] }
res.render('members/delete', data);
} catch (err) {
console.log(err);
}
})();
});
// 削除フォームの送信処理
router.post('/delete', (req, res, next) => {
let id = req.body.id;
(async () => {
try {
const [results, fields] = await pool.query('DELETE FROM users WHERE id = ?', id);
res.redirect('/');
} catch (err) {
console.log(err);
}
})();
});
module.exports = router;