nodejs個(gè)人博客開發(fā)第五步 分配數(shù)據(jù)
本文為大家分享了nodejs個(gè)人博客開發(fā)的分配數(shù)據(jù),具體內(nèi)容如下
使用回掉大坑進(jìn)行取數(shù)據(jù)
能看明白的就看,看不明白的手動(dòng)滑稽
/** * 首頁(yè)控制器 */ var router=express.Router(); /*每頁(yè)條數(shù)*/ 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"); // 分類數(shù)據(jù) categoryModel.getAllList(function(err,categoryList){ // 文章條數(shù) articleModel.getCount(cid,function(err,nums){ // 文章分頁(yè) 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)); } /*分配數(shù)據(jù)*/ 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":"測(cè)試"}); //F.model("category").saveCate({"name":"測(cè)試1"},"id=4"); //F.model("category").delCate("id=4"); /*渲染模板*/ //res.render("home/index"); }); module.exports=router;
文章模型:
/** * 文章模型文件 */ module.exports={ /*獲取條數(shù)*/ 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); }, /*獲取分頁(yè)數(shù)據(jù)*/ 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); } };
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 從零學(xué)習(xí)node.js之利用express搭建簡(jiǎn)易論壇(七)
- node.js博客項(xiàng)目開發(fā)手記
- Node.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例
- 利用Vue.js+Node.js+MongoDB實(shí)現(xiàn)一個(gè)博客系統(tǒng)(附源碼)
- nodejs個(gè)人博客開發(fā)第七步?后臺(tái)登陸
- nodejs個(gè)人博客開發(fā)第六步 數(shù)據(jù)分頁(yè)
- nodejs個(gè)人博客開發(fā)第四步 數(shù)據(jù)模型
- nodejs個(gè)人博客開發(fā)第三步 載入頁(yè)面
- nodejs個(gè)人博客開發(fā)第二步 入口文件
- nodejs個(gè)人博客開發(fā)第一步 準(zhǔn)備工作
- node.js實(shí)現(xiàn)博客小爬蟲的實(shí)例代碼
- [將免費(fèi)進(jìn)行到底]在Amazon的一年免費(fèi)服務(wù)器上安裝Node.JS, NPM和OurJS博客
- node+koa2+mysql+bootstrap搭建一個(gè)前端論壇
相關(guān)文章
koa-router源碼學(xué)習(xí)小結(jié)
這篇文章主要介紹了koa-router源碼學(xué)習(xí)小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09nodejs使用http模塊發(fā)送get與post請(qǐng)求的方法示例
這篇文章主要介紹了nodejs使用http模塊發(fā)送get與post請(qǐng)求的方法,結(jié)合實(shí)例形式分析了nodejs基于http模塊實(shí)現(xiàn)發(fā)送get與post請(qǐng)求具體操作技巧,需要的朋友可以參考下2018-01-01node+express+ejs使用模版引擎做的一個(gè)示例demo
本篇文章主要介紹了node+express+ejs使用模版引擎做的一個(gè)示例demo,具有一定參考價(jià)值,有興趣的小伙伴可以了解一下2017-09-09nodejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例
下面小編就為大家?guī)硪黄猲odejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析
本文介紹了node.js中的定時(shí)器nextTick()和setImmediate()的區(qū)別分析,非常的不錯(cuò),這里推薦給大家。2014-11-11詳解在node.js中require方法的加載規(guī)則
這篇文章主要介紹了詳解在node.js中require方法的加載規(guī)則,本文一步步解析了require加載規(guī)則,講述了核心的模塊,路徑形式的模塊,第三方模塊等,需要的朋友可以參考下2021-06-06Node.js的HTTP模塊、URL模塊與supervisor工具介紹
這篇文章介紹了Node.js的HTTP模塊、URL模塊與supervisor工具,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06