Node.js+MySQL+ExpressでWebアプリをつくる その4【データの編集と更新】

index.ejs

<a href='/edit/<%= user.id %>'>編集</a>

app.js

app.get('/edit', (req,res) => {
    connection.query(
        'SELECT * FROM users WHERE id = ?',
        [req.params.id],
        (error, results) => {
            res.render('edit.ejs', {user: results[0]});
        }
    );
});

edit.ejs

<h1>編集画面</h1>
<form action='/update/<%= user.id %>' method='post'>
    <input type='text' value='<%= user.name %>' name='userName'>
    <input type='submit' value='送信'>
</form>

app.js

app.post('/update/:id', (req,res) => {
  
    connection.query(
        'UPDATE users SET name = ? WHERE id = ?',
        [req.body.userName, req.params.id],
        (error, results) => {
            res.redirect('/');
        }
    );
});