欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

nodejs个人博客开发第五步 分配数据

程序员文章站 2022-04-08 15:17:06
本文为大家分享了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);
  }
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。