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
Post a Comment