需要运用到mysql里面的limit实现分页操作
1.封装mysql为db.js文件
var mysql = require('mysql')
exports.base=(sql,data,callback)=>{
var mysql= require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '1234',
database : 'mall',
post:3306
});
connection.connect();
connection.query(sql,data, function (error, results, fields) {
if (error) throw error;
callback(results)
});
connection.end();
}
2.index.js代码
let express=require('express');
let template=require('art-template');
let app=express();
let path=require('path');
// 引入封装好的数据库操作
let db=require('./service/db');
// 静态资源路径
app.use(express.static(path.join(__dirname,'public')));
// 设置模板路径
app.set('views',path.join(__dirname,'views'));
// 设置模版引擎
app.set('view engine','html');
// express-art-template
app.engine('html',require('express-art-template'));
// 路由
app.get('/',(req,res)=>{
// 获取get后面的page参数值; 没有page的参数值的时候,给它默认值0
let page=(req.query.page==undefined)?0:req.query.page;
let startPage=page*5;
// 从数据库获取数据,然后渲染到show页面
let count='select count(*) as count from student';
let sql=`select id,name,if(sex=1,'男','女') as sex,tel,school,major from student limit ${startPage},5`;
db.base(count,null,(result)=>{
let countNum=result[0].count;
db.base(sql,null,(result)=>{
res.render('show',{list:result,count:countNum,page:page});
})
})
})
// 监听端口
app.listen(8080,()=>console.log('runnning'));
3.index.html代码
编号
姓名
性别
电话
学校
专业
{{each list}}
{{$value.id}}
{{$value.name}}
{{$value.sex}}
{{$value.tel}}
{{$value.school}}
{{$value.major}}
{{/each}}
上一页
下一页