-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
76 lines (63 loc) · 1.57 KB
/
app.js
File metadata and controls
76 lines (63 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const express = require('express');
const mysql = require('mysql');
const app = express();
app.use(express.static('public'));
app.set("view engine", "ejs");
app.use(express.urlencoded({extended: false}));
const connection = mysql.createConnection({
host: 'localhost',
user: 'S13',
password: 'password',
database: 'shoppinglist'
});
app.get('/', (req, res) => {
res.render('top.ejs');
});
app.get('/index', (req, res) => {
connection.query(
'SELECT * FROM items',
(error, results) => {
res.render('index.ejs', {items: results});
}
);
});
app.get('/new', (req, res) => {
res.render('new.ejs');
});
app.post('/create', (req, res) => {
connection.query(
'INSERT INTO items (name) VALUES (?)',
[req.body.itemName],
(error, results) => {
res.redirect('/index');
}
);
});
app.post('/delete/:id', (req, res) => {
connection.query(
'DELETE FROM items WHERE id = ?',
[req.params.id],
(error, results) => {
res.redirect('/index');
}
);
});
app.get('/edit/:id', (req, res) => {
connection.query(
'SELECT * FROM items WHERE id = ?',
[req.params.id],
(error, results) => {
res.render('edit.ejs', {item: results[0]});
}
);
});
app.post('/update/:id', (req, res) => {
// Write code to update the selected item
connection.query(
'update items set name = ? where id =?',
[req.body.itemName,req.params.id],(error,results)=>{
res.redirect('/index');
})
// Delete the following redirect to the list page
});
app.listen(3000,() => console.log(`Listening on port 3000...`));