当前位置: 移动技术网 > IT编程>开发语言>JavaScript > nodejs个人博客开发第五步 分配数据

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

2018年05月21日  | 移动技术网IT编程  | 我要评论

本文为大家分享了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);
  }
};

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网