HTML側
<ul class="table-body">
<% items.forEach((item) => { %>
<li>
<div class="item-data">
<span class="id-column"><%= item.id %></span>
<span class="name-column"><%= item.name %></span>
</div>
</li>
<% }) %>
</ul>
<form action="/create" method="post">
<input type="text" name="itemName">
<input type="submit" value="作成する">
</form>
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'progate',
password: 'password',
database: 'list_app'
});
DBから拾ってくる
app.get('/index', (req, res) => {
connection.query(
'SELECT * FROM items',
(error, results) => {
res.render('index.ejs',{items:results});
}
);
});
フォームから送信された値を受け取り、表示する
app.use(express.urlencoded({extended: false}));
app.post('/create', (req, res) => {
console.log(req.body.itemName);
connection.query(
'SELECT * FROM items',
(error, results) => {
res.render('index.ejs', {items: results});
}
);
});
DBへの追加とリダイレクト
app.post('/create', (req, res) => {
connection.query(
'INSERT INTO items (name) VALUES (?)',
[req.body.itemName],
(error, results) => {
res.redirect('/index');
}
);
});