Guest User

Untitled

a guest
Dec 6th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.52 KB | None | 0 0
  1. var express = require('express');
  2. var path = require('path');
  3. var http = require('http');
  4. var favicon = require('serve-favicon');
  5. var logger = require('morgan');
  6. var cookieParser = require('cookie-parser');
  7. var bodyParser = require('body-parser');
  8.  
  9. var index = require('./routes/index');
  10. var users = require('./routes/users');
  11. var customers = require('./routes/customers');
  12.  
  13. //load customers route
  14. var app = express();
  15. var connection = require('express-myconnection');
  16. var mysql = require('mysql');
  17. // all environments
  18. app.set('port', process.env.PORT || 4300);
  19. app.set('views', path.join(__dirname, 'views'));
  20. app.set('view engine', 'ejs');
  21.  
  22.  
  23. // uncomment after placing your favicon in /public
  24. //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
  25. app.use(logger('dev'));
  26. app.use(bodyParser.json());
  27. app.use(bodyParser.urlencoded({ extended: false }));
  28. app.use(cookieParser());
  29. app.use(express.static(path.join(__dirname, 'public')));
  30.  
  31. app.use('/', index);
  32. app.use('/users', users);
  33.  
  34.  
  35. // catch 404 and forward to error handler
  36. app.use(function(req, res, next) {
  37. var err = new Error('Not Found');
  38. err.status = 404;
  39. next(err);
  40. });
  41.  
  42. // error handler
  43. app.use(function(err, req, res, next) {
  44. // set locals, only providing error in development
  45. res.locals.message = err.message;
  46. res.locals.error = req.app.get('env') === 'development' ? err : {};
  47.  
  48. // render the error page
  49. res.status(err.status || 500);
  50. res.render('error');
  51. });
  52.  
  53.  
  54. /*------------------------------------------
  55. connection peer, register as middleware
  56. type koneksi : single,pool and request
  57. -------------------------------------------*/
  58. app.use(
  59.  
  60. connection(mysql,{
  61.  
  62. host: 'localhost',
  63. user: 'root',
  64. password : '',
  65. port : 3306, //port mysql
  66. database:'nodejs'
  67. },'request')
  68. );//route index, hello world
  69.  
  70. //app.get('/', routes.index);//route customer list
  71. app.get('/customers', customers.list);//route add customer, get n post
  72. app.get('/customers/add', customers.add);
  73. app.post('/customers/add', customers.save);//route delete customer
  74. app.get('/customers/delete/:id', customers.delete_customer);//edit customer route , get n post
  75. app.get('/customers/edit/:id', customers.edit);
  76. app.post('/customers/edit/:id',customers.save_edit);
  77. app.use(app.router);
  78. http.createServer(app).listen(app.get('port'), function(){
  79. console.log('Express server listening on port ' + app.get('port'));
  80. });
  81.  
  82. module.exports = app;
  83.  
  84. <%- include layouts/header.ejs %>
  85. <div class="page-data">
  86. <div class="data-btn">
  87. <button onClick="addUser();">+ Add</button>
  88. </div>
  89. <div class="data-table">
  90. <table border="1" cellpadding="7" cellspacing="7">
  91. <tr>
  92. <th width="50px">No</th>
  93. <th>Name</th>
  94. <th>Address</th>
  95. <th>Phone</th>
  96. <th>Email</th>
  97. <th width="120px">Action</th>
  98. </tr>
  99. <% if(data.length){
  100.  
  101. for(var i = 0;i < data.length;i++) { %>
  102. <tr>
  103. <td><%=(i+1)%></td>
  104. <td><%=data[i].name%></td>
  105. <td><%=data[i].address%></td>
  106. <td><%=data[i].phone%></td>
  107. <td><%=data[i].email%></td>
  108. <td>
  109. <a class="a-inside edit" href="../customers/edit/<%=data[i].id%>">Edit</a>
  110. <a class="a-inside delete" href="../customers/delete/<%=data[i].id%>">Delete</a>
  111. </td>
  112. </tr>
  113. <% }
  114.  
  115. }else{ %>
  116. <tr>
  117. <td colspan="3">No user</td>
  118. </tr>
  119. <% } %>
  120.  
  121. </table>
  122. </div>
  123. </div>
  124. <%- include layouts/footer.ejs %>
  125.  
  126. /*
  127. * GET customers listing.
  128. */
  129. exports.list = function(req, res){
  130. req.getConnection(function(err,connection){
  131.  
  132. connection.query('SELECT * FROM customer',function(err,rows) {
  133.  
  134. if(err)
  135. console.log("Error Selecting : %s ",err );
  136.  
  137. res.render('customers',{page_title:"Customers - Node.js",data:rows});
  138.  
  139. });
  140.  
  141. });
  142.  
  143. };
  144. exports.add = function(req, res){
  145. res.render('add_customer',{page_title:"Add Customers-Node.js"});
  146. };
  147. exports.edit = function(req, res){
  148.  
  149. var id = req.params.id;
  150.  
  151. req.getConnection(function(err,connection){
  152.  
  153. connection.query('SELECT * FROM customer WHERE id = ?',[id],function(err,rows)
  154. {
  155.  
  156. if(err)
  157. console.log("Error Selecting : %s ",err );
  158.  
  159. res.render('edit_customer',{page_title:"Edit Customers - Node.js",data:rows});
  160.  
  161. });
  162.  
  163. });
  164. };
  165. /*Save the customer*/
  166.  
  167. exports.save = function(req,res){
  168.  
  169. var input = JSON.parse(JSON.stringify(req.body));
  170.  
  171. req.getConnection(function (err, connection) {
  172.  
  173. var data = {
  174.  
  175. name : input.name,
  176. address : input.address,
  177. email : input.email,
  178. phone : input.phone
  179.  
  180. };
  181.  
  182. var query = connection.query("INSERT INTO customer set ? ",data, function(err, rows)
  183. {
  184.  
  185. if (err)
  186. console.log("Error inserting : %s ",err );
  187.  
  188. res.redirect('/customers');
  189.  
  190. });
  191.  
  192. // console.log(query.sql); get raw query
  193.  
  194. });
  195. };/*Save edited customer*/
  196. exports.save_edit = function(req,res){
  197.  
  198. var input = JSON.parse(JSON.stringify(req.body));
  199. var id = req.params.id;
  200.  
  201. req.getConnection(function (err, connection) {
  202.  
  203. var data = {
  204.  
  205. name : input.name,
  206. address : input.address,
  207. email : input.email,
  208. phone : input.phone
  209.  
  210. };
  211.  
  212. connection.query("UPDATE customer set ? WHERE id = ? ",[data,id], function(err, rows)
  213. {
  214.  
  215. if (err)
  216. console.log("Error Updating : %s ",err );
  217.  
  218. res.redirect('/customers');
  219.  
  220. });
  221.  
  222. });
  223. };
  224.  
  225. exports.delete_customer = function(req,res){
  226.  
  227. var id = req.params.id;
  228.  
  229. req.getConnection(function (err, connection) {
  230.  
  231. connection.query("DELETE FROM customer WHERE id = ? ",[id], function(err, rows)
  232. {
  233.  
  234. if(err)
  235. console.log("Error deleting : %s ",err );
  236.  
  237. res.redirect('/customers');
  238.  
  239. });
  240.  
  241. });
  242. };
Add Comment
Please, Sign In to add comment