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

  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);

  }

  };

(0)

相关推荐

  • nodejs个人博客载入页面开发教程

    本文为大家分享了nodejs个人博客开发的载入页面,具体内容如下 模板引擎 使用ejs作为我们博客的前端模板引擎,用来从json数据生成html字符串 安装:npm install ejs -save ...

  • nodejs个人博客后台登陆开发详解

    本文为大家分享了nodejs个人博客开发的后台登陆,具体内容如下 定义后台路径 访问这个路径进入后台页面 http://localhost:8888/admin/login 在后台路由控制器里面(/a ...

  • nodejs个人博客数据分页开发教程

    本文为大家分享了nodejs个人博客开发的数据分页,具体内容如下 控制器路由定义 首页路由:http://localhost:8888/ 首页分页路由:http://localhost:8888/in ...

  • nodejs个人博客数据模型开发教程

    本文为大家分享了nodejs个人博客开发的数据模型,具体内容如下 数据库模型 /model/db.js 数据库操作类,完成链接数据库和数据库的增删查改 查询表 /*查询*/ select:functi ...

  • 博客怎么搬家到LOFTER 网易博客搬家到lofter教程

    博客怎么搬家到LOFTER 网易博客搬家到lofter教程 首先登陆你的LOFTER账户 打开http://www.lofter.com/import,点击“请点击这里” 填入需要搬家到LOFTER的 ...

  • 查看博客.最近帖子和存档草稿 --Word 2007高级应用

    查看博客、最近帖子和存档草稿 ——Word 2007高级应用 由于查看博客和查看最近帖子这两项操作都是"外包"给Internet Explorer的,我们可以简单地调用System.Diagnosti ...

  • 如何创建一个wordpress博客

    创建一个WordPress博客是一个让你开始在网上进行写作,让你进入网络博客界的最快,最简单的方法.如果你没有自己的网络客户端,你可以通过WordPress网站,免费创建一个博客,或者如果你已经有了自 ...

  • LNMP系列教程之三:SSH安装WordPress博客

    在之前的文章中,"LNMP系列教程之二:删除站点及域名绑定",然后我们就需要传程序建站。我们可以利用WinSCP工具直接向我们的对应的站点目录中传程序,然 后添加数据库安装网站。但是今天我分享的这个方 ...

  • 使用Windows Live Writer2012和Office word2013发布博客的详解(多图)

    具体到底是用Windows Live Writer 2012还是用Word 2013,个人觉得看个人,因为这2个软件各有优点,各有缺点。 1、首先用LiveWriter发博客显然更专业,发布后的效果也 ...