文章的上一章下一章

弄一个小说网站需要用到上一章下一章,这里面回顾下:

我们只需要知道小说的Id(bookid)和当前章节Id(chapterid),查询出来当前小说的的所有章节,chapterid > 当前章节Id正序排列的第一节,即是下一张;chapterid < 当前章节id倒序排列的第一章节,即是上一张

示例代码如下:

 1 <?php
 2 /*
 3  * 章节的上一章或者下一张
 4  */
 5 function checkChapter($bookid,$chaper){
 6     $chapters = M("chapters");
 7     $count = $chapters->where("acc_bookid=$bookid")->count();//获得总共章节娄
 8     $chapterNex = $chapters->where("acc_bookid=$bookid and acc_chapterid > $chaper")->find();//下一章
 9     $chapterPre = $chapters->where("acc_bookid=$bookid and acc_chapterid < $chaper")->order("acc_chapterid desc")->find();//上一章
10     $str_chapter = '';
11     if(!empty($chapterPre) && empty($chapterNex)){
12         $str_chapter .= '<a href="'.U('Reader/index',array('bookid'=>$bookid,'chapterid'=>$chapterPre['acc_chapterid'])).'">上一章</a>
13             <a href="'.U('View/index',array('bookid'=>$bookid)).'">返回目录</a>';
14     }
15     if(empty($chapterPre) && !empty($chapterNex)){
16 
17         $str_chapter .= '<a href="'.U('View/index',array('bookid'=>$bookid)).'">返回目录</a>
18                     <a href="'.U('Reader/index',array('bookid'=>$bookid,'chapterid'=>$chapterNex['acc_chapterid'])).'">下一章</a>';
19     }
20     if(!empty($chapterPre) && !empty($chapterNex)){
21         $str_chapter .= '<a href="'.U('Reader/index',array('bookid'=>$bookid,'chapterid'=>$chapterPre['acc_chapterid'])).'">上一章</a>
22                     <a href="'.U('View/index',array('bookid'=>$bookid)).'">返回目录</a>
23                     <a href="'.U('Reader/index',array('bookid'=>$bookid,'chapterid'=>$chapterNex['acc_chapterid'])).'">下一章</a>';
24     }
25     return $str_chapter;
26 }
27 ?>
View Code

 

 

posted @ 2013-10-29 15:52  泡沫幻想  阅读(2086)  评论(0编辑  收藏  举报