//引入模块
var express = require("express");
//引入mysql
var mysql = require('mysql');
//引入formidable
var formidable = require("formidable");
//引入url模块
var urll = require("url");
//创建应用
var app = express();
//设置静态资源
app.use(express.static('node_modules'));
//设置末班引擎
app.set('view engine','ejs');
//设置模板引擎的视图路径
app.set('views','./views');
//引入cookie模块
var cookie = require("cookie-parser");
app.use(cookie());
//配置数据库
var connection = mysql.createConnection({
host:'localhost',
user:'root',
password:'root',
database:'56yezonghui'
})
//连接数据库
connection.connect();
//设置路由
app.get("/index",function(req,res){
//查询数据
connection.query('select * from users',function(error,results,fields){
//console.log(results);
//在加载模板的时候,把数据页发送过去
res.render("index",{data:results});
res.end();
})
})
//添加一个添加表单的路由
app.get("/add",function(req,res){
res.render("add");
res.end();
})
//执行添加操作
app.post("/doadd",function(req,res){
//实例化formidable
var form = new formidable.IncomingForm();
//获取表单中传递的信息
form.parse(req,function(err,fields,files){
if(!err){
//console.log(fields);
var name = fields.name;
var age = fields.age;
var classid = fields.classid;
//入库
var sql = "insert into users (name,age,classid) values(?,?,?)";
var inserts = [name,age,classid];
var sql = mysql.format(sql,inserts);
connection.query(sql,function(error,results,fields){
if(results.affectedRows>0){
//res.render("/index");
//跳转到指定的路由 res.redirect(路由规则)
res.redirect("/index");
res.end();
}
})
}
})
})
app.get("/delete",function(req,res){
//获取前边给我传递的id /delete?id=1
var url = req.url;
//解析url地址
var param = urll.parse(url,true);
//console.log(param.query);
var id = param.query.id;
//console.log(id);
//执行sql
connection.query('delete from users where id='+id,function(error,results,fields){
if(results.affectedRows>0){
res.redirect("/index");
res.end();
}
})
})
//执行ajax删除的路由
app.get("/del",function(req,res){
//console.log(123);
var url = req.url;
id = urll.parse(url,true).query.id;
//console.log(id);
//执行sql
var sql = "delete from users where id=?";
//var deletes = [id];
var sql = mysql.format(sql,id);
//执行sql
connection.query(sql,function(error,results,fields){
if(results.affectedRows>0){
//console.log(results);
res.json({'r':1})
res.end();
}else{
res.json({'r':0})
res.end();
}
})
})
// --------------------------------------修改表单开始-----------------------------
// //加载修改表单页面
// app.get("/edit",function(req,res){
// //console.log('修改表单');
// //'select * from users wehre id='+id;
// res.render('edit');
// res.end();
// })
// app.post("/update",function(req,res){
// //执行修改操作
// //接收到表单传递的数据
// })
// ---------------------------------------修改表单结束----------------------------
//加载登录页面
app.get('/login',function(req,res){
res.render('login');
res.end();
})
app.post('/dologin',function(req,res){
//接收表单传递的数据
var form = new formidable.IncomingForm();
//解析表单
form.parse(req,function(err,fields,files){
var name = fields.name;
var pass = fields.pass;
//console.log(name+pass);
connection.query("select * from stu where name='"+name+"'",function(error,results,fields){
if(results.length>0){
//如果进入该分支表示账号没问题
//需要判断密码是否正确
if(pass==results[0].pass){
//都正确
res.write(`
<h1>memda</h1>
<script>
setTimeout(function(){
location.href="/index"
},3000)
</script>
`);
res.end();
}else{
console.log('密码不正确');
res.end();
}
}else{
console.log('账号不正确');
res.end();
}
//console.log(results);
})
})
})
app.listen(8090);
// 完成修改操作
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="/bootstrap/dist/css/bootstrap.min.css"/>
<script type="text/javascript" src="/jquery/dist/jquery.js"></script>
</head>
<body>
<a class="btn btn-info">用户管理</a>
<a href="/login" class="btn btn-info">登录</a>
<a href="/add" class="btn btn-danger">用户添加</a>
<table class="table table-hover table-bordered">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>班级</th>
<th>操作</th>
</tr>
<% for(var i=0;i<data.length;i++){ %>
<tr>
<td><%=data[i].id%></td>
<td><%=data[i].name%></td>
<td><%=data[i].age%></td>
<td><%=data[i].classid%></td>
<td>
<a href="/delete?id=<%=data[i].id%>" class="btn btn-danger">删除</a>
<a href="javascript:void(0)" class="btn btn-danger del">ajax删除</a>
<a href="/edit?id=<%=data[i].id%>" class="btn btn-info">编辑</a>
</td>
</tr>
<%}%>
</table>
</body>
<script type="text/javascript">
//alert($);
$('.del').click(function(){
//alert(123);
//获取当前点击的数据的id
var id = $(this).parents('tr').find('td:first').html();
//console.log(id);
var qd = confirm('确定删除吗??');
var tr = $(this).parents('tr');
if(qd){
//发送ajax请求
$.get("/del",{id:id},function(data){
console.log('----------------------------------------'+data);
//console.log(data.r);
if(data.r==1){
alert('删除成功');
//把删除的那条数据的tr删除
tr.remove();
}else{
alert('删除失败');
}
})
}
})
</script>
</html>