nodejs 04

//引入模块
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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值