zoukankan      html  css  js  c++  java
  • Nodejs+Express+Mysql实现简单用户管理增删改查

    源码地址

      https://github.com/king-y/NodeJs/tree/master/user

    目录结构

      

    mysql.js

    var mysql = require('mysql');
    
    var pool = mysql.createPool({
          host     : '127.0.0.1',
          user     : 'root',
          password : '',
          database : 's79'
        });
    
    exports.query = function(sql,data){
        pool.getConnection(function(err,connection){
            connection.query(sql,function(err,result){
                  data(err,result);
                  connection.release();
            });
        });
    }

    app.js

    var express = require('express');
    var bodyParser = require('body-parser');
    var fs = require('fs');
    var sql = require('./conf/mysql.js');
    var app = express();
    
    
    app.set('view engine','ejs');
    app.set('views','./views/');
    
    app.use(bodyParser.urlencoded({ extended: false }));
    
    // display user
    app.get('/',function(req,res){
            sql.query('select * from user',function(err,result){
              if (err) {
                res.render('index',{title:"用户列表",datas:[]});
              }else{
                res.render('index',{title:"用户列表",datas:result});
              }
            });
    });
    
    // add user
    app.get('/add',function(req,res){
      res.render('add');
    });
    
    app.post('/add',function(req,res){
      var name = req.body.name;
      var age = req.body.age;
      sql.query('insert into user(name,age) values("'+name+'","'+ age +'")',function(err,result){
         if(err){
                res.send('新增失败'+err);
            }else {
                res.redirect('/');
            }
      });
    });
    
    // edit user
    app.get('/edit/:id',function(req,res){
        var id = req.params.id;
        sql.query('select * from user where id = ' + id,function(err,result){
                res.render('edit',{datas:result});
        });
    });
    
    app.post('/edit',function(req,res){
      var id = req.body.id;
      var name = req.body.name;
      var age = req.body.age;
      sql.query('update user set name = "'+name+'"  , age = "'+age+'" where id = '+id,function(err,result){
        if (err) {
          res.send('更新失败'+err);
        }else{
          res.redirect('/');
        }
      })
    
    });
    
    
    // del user
    app.get('/del/:id',function(req,res){
      var id = req.params.id;
      sql.query('delete from user where id = '+id,function(err,result){
         if(err){
                res.send('删除失败'+err);
            }else {
                res.redirect('/');
            }
      });
    });
    
    app.listen(3000);

    index.ejs

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>
            <%= title %>
        </title>
        <style>
        table.TB_COLLAPSE {
             100%;
            border-collapse: collapse;
        }
    
        table.TB_COLLAPSE caption {
            padding: 10px;
            font-size: 24px;
            background-color: #f3f6f9;
        }
    
        table.TB_COLLAPSE thead th {
            padding: 5px 0px;
            color: #fff;
            background-color: #915957;
        }
    
        table.TB_COLLAPSE tbody td {
            padding: 5px 0px;
            color: #555;
            text-align: center;
            background-color: #fff;
            border-bottom: 1px solid #915957;
        }
    
        table.TB_COLLAPSE tfoot td {
            padding: 5px 0px;
            text-align: center;
            background-color: #d6d6a5;
        }
        a {
            color: #555;
            text-decoration: none;
        }
        a:hover{
            color:#cae;
        }
        </style>
    </head>
    
    <body>
        <table class="TB_COLLAPSE">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>操作</th>
            </tr>
            <% for(var i = 0; i < datas.length; i++) {%>
            <tr>
                <td>
                    <%= datas[i].id %>
                </td>
                <td>
                    <%= datas[i].name %>
                </td>
                <td>
                    <%= datas[i].age %>
                </td>
                <td><a href="/add">添加用户</a>|<a href="/del/<%= datas[i].id %>">删除</a>|<a href="/edit/<%= datas[i].id %>">编辑</a></td>
            </tr>
            <% } %>
        </table>
    </body>
    
    </html>

    add.ejs

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>添加用户</title>
        <style>
        .myButton {
        -moz-box-shadow: 0px 0px 0px 0px #a4e271;
        -webkit-box-shadow: 0px 0px 0px 0px #a4e271;
        box-shadow: 0px 0px 0px 0px #a4e271;
        background-color:#89c403;
        -moz-border-radius:28px;
        -webkit-border-radius:28px;
        border-radius:28px;
        border:1px solid #74b807;
        display:inline-block;
        cursor:pointer;
        color:#ffffff;
        font-family:Arial;
        font-size:17px;
        padding: 3px 71px;
        margin-top: 10px;
        text-decoration:none;
        text-shadow:0px 1px 0px #528009;
        }
        .myButton:hover {
            background-color:#77a809;
        }
        .myButton:active {
            position:relative;
            top:1px;
        }
        input{
            border: 1px solid #cae;
            color:#cea;
        }
        hr{
            border:1px solid #cea;
        }
        </style>
    </head>
    
    <body>
        <form class="form-horizontal" action="/add" method="post">
            <fieldset>
                <div id="legend" class="">
                    <legend class="leipiplugins-orgvalue">添加用户</legend>
                    <hr>
                </div>
                <div class="control-group">
                    <!-- Text -->
                    <div class="controls">
                        <input name="name" type="text" placeholder="请输入您的姓名" title="姓名" value="" class="leipiplugins" leipiplugins="text">
                    </div>
                </div>
                <br>
                <div class="control-group">
                    <!-- Text -->
                    <div class="controls">
                        <input name="age" type="text" placeholder="请输入您的年龄" title="年龄" value="" class="leipiplugins" leipiplugins="text">
                    </div>
                </div>
                 <input class="myButton" type="submit" value="提交">
            </fieldset>
        </form>
    </body>
    
    </html>

    edit.ejs

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>编辑用户</title>
        <style>
        .myButton {
        -moz-box-shadow: 0px 0px 0px 0px #a4e271;
        -webkit-box-shadow: 0px 0px 0px 0px #a4e271;
        box-shadow: 0px 0px 0px 0px #a4e271;
        background-color:#89c403;
        -moz-border-radius:28px;
        -webkit-border-radius:28px;
        border-radius:28px;
        border:1px solid #74b807;
        display:inline-block;
        cursor:pointer;
        color:#ffffff;
        font-family:Arial;
        font-size:17px;
        padding: 3px 71px;
        margin-top: 10px;
        text-decoration:none;
        text-shadow:0px 1px 0px #528009;
        }
        .myButton:hover {
            background-color:#77a809;
        }
        .myButton:active {
            position:relative;
            top:1px;
        }
        input{
            border: 1px solid #cae;
            color:#cea;
        }
        hr{
            border:1px solid #cea;
        }
        </style>
    </head>
    
    <body>
        <form class="form-horizontal" action="/edit" method="post">
            <fieldset>
                <div id="legend" class="">
                    <legend class="leipiplugins-orgvalue">编辑用户</legend>
                    <hr>
                </div>
                <div class="control-group">
                    <!-- Text -->
                    <div class="controls">
                        <input type="hidden" name="id" value="<%= datas[0].id %>">
                        <input name="name" type="text"  value=" <%= datas[0].name %> " class="leipiplugins" leipiplugins="text">
                    </div>
                </div>
                <br>
                <div class="control-group">
                    <!-- Text -->
                    <div class="controls">
                        <input name="age" type="text"  value=" <%= datas[0].age %> " class="leipiplugins" leipiplugins="text">
                    </div>
                </div>
                 <input class="myButton" type="submit" value="提交">
            </fieldset>
        </form>
    </body>
    
    </html>

    推荐两个工具网站,在线生成表单和按钮.

      表单:http://formbuild.leipi.org/?

      按钮:https://www.bestcssbuttongenerator.com/#/0

        http://www.shejidaren.com/css-button-generator-and-beautifucl-style-sheet.html

      

  • 相关阅读:
    Python 入门的一些练习题
    Parallel Data Augmentation for Formality Style Transfer 阅读
    Windows Internals 笔记——用户模式下的线程同步
    RSA算法原理(转)
    Ubuntu Git Server 搭建(Gitosis)
    Linux Make 报错:make: *** /lib/modules/3.10.0-1127.el7.x86_64/build: no such file or directory. stop.
    Centos 配置串口连接
    编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中,不用strcpy函数。复制时,‘’也要赋值过去。''之后的字符不复制
    编写一个程序,将连个字符串s1和s2比较,如果s1 > s2,输出一个整数;若s1 = s2,输出0;若s1 < s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。
    编一程序,将两个字符串连接起来,不要用strcat函数
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/9784393.html
Copyright © 2011-2022 走看看