-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
-- phpMyAdmin SQL Dump | ||
-- version 4.1.14 | ||
-- http://www.phpmyadmin.net | ||
-- | ||
-- Host: 127.0.0.1 | ||
-- Generation Time: 11 Okt 2018 pada 03.42 | ||
-- Versi Server: 5.6.17 | ||
-- PHP Version: 5.5.12 | ||
|
||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; | ||
SET time_zone = "+00:00"; | ||
|
||
|
||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; | ||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; | ||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; | ||
/*!40101 SET NAMES utf8 */; | ||
|
||
-- | ||
-- Database: `crud_db` | ||
-- | ||
|
||
-- -------------------------------------------------------- | ||
|
||
-- | ||
-- Struktur dari tabel `product` | ||
-- | ||
|
||
CREATE TABLE IF NOT EXISTS `product` ( | ||
`product_id` int(11) NOT NULL AUTO_INCREMENT, | ||
`product_name` varchar(200) DEFAULT NULL, | ||
`product_price` int(11) DEFAULT NULL, | ||
PRIMARY KEY (`product_id`) | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ; | ||
|
||
-- | ||
-- Dumping data untuk tabel `product` | ||
-- | ||
|
||
INSERT INTO `product` (`product_id`, `product_name`, `product_price`) VALUES | ||
(1, 'Product 1', 2000), | ||
(2, 'Product 2', 2000), | ||
(3, 'Product 3', 3000), | ||
(4, 'Product 4', 2000), | ||
(5, 'Product 5', 1500); | ||
|
||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; | ||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; | ||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
//use path module | ||
const path = require('path'); | ||
//use express module | ||
const express = require('express'); | ||
//use hbs view engine | ||
const hbs = require('hbs'); | ||
//use bodyParser middleware | ||
const bodyParser = require('body-parser'); | ||
//use mysql database | ||
const mysql = require('mysql'); | ||
const app = express(); | ||
|
||
//Create Connection | ||
const conn = mysql.createConnection({ | ||
host: 'localhost', | ||
user: 'root', | ||
password: '', | ||
database: 'crud_db' | ||
}); | ||
|
||
//connect to database | ||
conn.connect((err) =>{ | ||
if(err) throw err; | ||
console.log('Mysql Connected...'); | ||
}); | ||
|
||
//set views file | ||
app.set('views',path.join(__dirname,'views')); | ||
//set view engine | ||
app.set('view engine', 'hbs'); | ||
app.use(bodyParser.json()); | ||
app.use(bodyParser.urlencoded({ extended: false })); | ||
//set folder public as static folder for static file | ||
app.use('/assets',express.static(__dirname + '/public')); | ||
|
||
//route for homepage | ||
app.get('/',(req, res) => { | ||
let sql = "SELECT * FROM product"; | ||
let query = conn.query(sql, (err, results) => { | ||
if(err) throw err; | ||
res.render('product_view',{ | ||
results: results | ||
}); | ||
}); | ||
}); | ||
|
||
//route for insert data | ||
app.post('/save',(req, res) => { | ||
let data = {product_name: req.body.product_name, product_price: req.body.product_price}; | ||
let sql = "INSERT INTO product SET ?"; | ||
let query = conn.query(sql, data,(err, results) => { | ||
if(err) throw err; | ||
res.redirect('/'); | ||
}); | ||
}); | ||
|
||
//route for update data | ||
app.post('/update',(req, res) => { | ||
let sql = "UPDATE product SET product_name='"+req.body.product_name+"', product_price='"+req.body.product_price+"' WHERE product_id="+req.body.id; | ||
let query = conn.query(sql, (err, results) => { | ||
if(err) throw err; | ||
res.redirect('/'); | ||
}); | ||
}); | ||
|
||
//route for delete data | ||
app.post('/delete',(req, res) => { | ||
let sql = "DELETE FROM product WHERE product_id="+req.body.product_id+""; | ||
let query = conn.query(sql, (err, results) => { | ||
if(err) throw err; | ||
res.redirect('/'); | ||
}); | ||
}); | ||
|
||
//server listening | ||
app.listen(8000, () => { | ||
console.log('Server is running at port 8000'); | ||
}); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.