nodejs个人博客开发第五步 分配数据
更新时间:2017年04月12日 12:00:09 作者:陶士涵
这篇文章主要为大家详细介绍了nodejs个人博客开发的分配数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文为大家分享了nodejs个人博客开发的分配数据,具体内容如下
使用回掉大坑进行取数据
能看明白的就看,看不明白的手动滑稽
/** * 首页控制器 */ var router=express.Router(); /*每页条数*/ var pageSize=5; router.get('/',function(req,res,next){ var currentPage=parseInt(req.params.page); var cid=0; var categoryModel=F.model("category"); var articleModel=F.model("article"); // 分类数据 categoryModel.getAllList(function(err,categoryList){ // 文章条数 articleModel.getCount(cid,function(err,nums){ // 文章分页 articleModel.getArticlePager(cid,currentPage,pageSize,function(err,articleList){ var nextPage=(currentPage+1)>=Math.ceil(nums[0].num/pageSize) ? Math.ceil(nums[0].num/pageSize) : currentPage+1; var prePage=(currentPage-1)<=0 ? 1 : currentPage-1; // 归档 articleModel.getArchives(function(err,allArticleTime){ var newArticleTime=[]; for(var i=0;i<allArticleTime.length;i++){ newArticleTime.push(F.phpDate("y年m月",allArticleTime[i].time)); } /*分配数据*/ var data={ categoryList:categoryList, articleList:articleList, cid:cid, nextPage:nextPage==0 ? 1 : nextPage, prePage:prePage, allArticleTime:newArticleTime, currentPage:currentPage }; /*渲染模板*/ res.render("home/index",data); }); }); }); }); //F.model("category").addCate({"name":"测试"}); //F.model("category").saveCate({"name":"测试1"},"id=4"); //F.model("category").delCate("id=4"); /*渲染模板*/ //res.render("home/index"); }); module.exports=router;
文章模型:
/** * 文章模型文件 */ module.exports={ /*获取条数*/ getCount:function(categoryId,callback){ var condition=""; if(categoryId!=0){ condition="where category_id="+categoryId; } var sql="select count(*) num from article "+condition; db.query(sql,callback); }, /*获取分页数据*/ getArticlePager:function(categoryId,currentPage,pageSize,callback){ if(currentPage<=0||!currentPage) currentPage=1; var start=(currentPage-1)*pageSize; var end=pageSize; var condition=""; if(categoryId!=0){ condition="where category_id="+categoryId; } var sql="select * from article "+condition+" order by time desc limit "+start+","+end; db.query(sql,callback); }, /*归档*/ getArchives:function(callback){ db.query("select time from article order by time desc",callback); } };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 从零学习node.js之利用express搭建简易论坛(七)
- node.js博客项目开发手记
- Node.js+jade抓取博客所有文章生成静态html文件的实例
- 利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
- nodejs个人博客开发第七步 后台登陆
- nodejs个人博客开发第六步 数据分页
- nodejs个人博客开发第四步 数据模型
- nodejs个人博客开发第三步 载入页面
- nodejs个人博客开发第二步 入口文件
- nodejs个人博客开发第一步 准备工作
- node.js实现博客小爬虫的实例代码
- [将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
- node+koa2+mysql+bootstrap搭建一个前端论坛
相关文章
nodejs使用http模块发送get与post请求的方法示例
这篇文章主要介绍了nodejs使用http模块发送get与post请求的方法,结合实例形式分析了nodejs基于http模块实现发送get与post请求具体操作技巧,需要的朋友可以参考下2018-01-01node+express+ejs使用模版引擎做的一个示例demo
本篇文章主要介绍了node+express+ejs使用模版引擎做的一个示例demo,具有一定参考价值,有兴趣的小伙伴可以了解一下2017-09-09node.js中的定时器nextTick()和setImmediate()区别分析
本文介绍了node.js中的定时器nextTick()和setImmediate()的区别分析,非常的不错,这里推荐给大家。2014-11-11Node.js的HTTP模块、URL模块与supervisor工具介绍
这篇文章介绍了Node.js的HTTP模块、URL模块与supervisor工具,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-06-06
最新评论