EDIT route (get /user/:id/edit)

 TO EDIT :

INDEX.JS

// EDIT ROUTE
app.get("/user/:id/edit", (req, res) => {
  let { id } = req.params;
  let q = `SELECT * FROM user WHERE id='${id}'`;
  try {
    connection.query(q, (err, result) => {
      if(err) throw err;
      let user = result[0];
 
      res.render("edit.ejs", { user });
    });
  } catch (err) {
    console.log(err);
    res.send("error occured");
  }
});

SHOW.EJS

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>show users</title>
    <style>
    table,
    th,
    td{
        border: 1px solid black;
    }
    </style>
</head>

<body>
    <table>
    <tr>
        <th>Id</th>
        <th>username</th>
        <th>Email</th>
<% for(user of users){ %>
<tr>
    <td><%= user.id %></td>
    <td><%= user.username %></td>
    <td><%= user.EMAIL %></td>
    <td>
        <form method="get" action="/user/<%= user.id %>/edit">
            <button>Edit username</button>
        </form>
    </td>
</tr>
<%}%>
    </tr>
    <tr>

    </tr>
</table>
</body>
</html>

IN SHOW.EJS A NEW BUTTON IS CREATED





EDIT.EJS

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Edit user</title>
</head>
<body>
    <h2>You are going to edit:<%=user.EMAIL%></h2>
    <form>
        <textarea name="username"><%=user.username%></textarea>
        <input type="password" name="password" placeholder="enter  password">
        <button>Edit password</button>
    </form>
</body>
</html>


HERE FOR THE PASSWORD, NEED TO RUN THE COMMAND:

SELECT * FROM user WHERE email="corresponding email";



 



Comments

Popular posts from this blog

DATABASE RELATIONSHIPS

ROUTING (GET /) home route

Query Strings