前言
开发过程中遇到一个小问题,文章的上一篇和下一篇
一、代码
代码如下(示例):
$leftId = $Newstable->where("id<$id and status = 1 and categoryid='".$category['id']."'")->max('id');
$front = null;
if($leftId){
$front = $Newstable->find($leftId);
}
if($front){
$furl='/Article/detail/id/'.$front['id']; //拼接路径
$ftitle = $front['title'];
}else{
$furl="javascript:void(0);";
$ftitle = "没有了";
}
$this->assign('furl',$furl);
$this->assign('ftitle',$ftitle);
$this->assign('front',$front);
$rightId = $Newstable->where("id>$id and status = 1 and categoryid='".$category['id']."'")->min('id');
$after = null;
if($rightId){
$after = $Newstable->find($rightId);
}
if($after){
$aurl='/Article/detail/id/'.$after['id'];
$atitle = $after['title'];
}else{
$aurl="javascript:void(0);";
$atitle = "没有了";
}
$this->assign('aurl',$aurl);
$this->assign('atitle',$atitle);
$this->assign('after',$after);
$this->display($tmpl);
总结
主要就是用tp的统计函数min和max ,去找紧挨着id的文章,而不是大于id的许多文章中的某个