+ -
当前位置:首页 → 问答吧 → 文章上一篇下一篇的问题

文章上一篇下一篇的问题

时间:2010-08-12

来源:互联网

//上一篇
      $11=$model->where("id<".$a[id])->order('id desc')->limit('1')->find();
      $this->assign('11',$11);
     
      //下一篇
       $22=$model->where("id>".$a[id] )->order('id asc')->limit('1')->find();
      $this->assign('22',$22);

     这个方法显示的是所有文章

      现在的问题是怎么样控制在显示当前栏目的内容, 就是说点上一篇,下一篇只在当前栏目下

作者: appleylg   发布时间: 2010-08-12

下面是我的代码,适合文章不是很多的情况,1000左右文章就可以。。文章多可以找其他解决办法
  
          $pointer=0;           
            include(C('MYCACHE_PATH').'/newslist.php');
            $total=count($newslist);
            foreach($newslist as $row)
            {                   
                    $pointer+=1;
                    if($row['id']==$temp['id'])break;
            }
            $prev=$next='';
            if($pointer!=1)
            {
                    $prev=$newslist[$pointer-1-1];
            }
            if($pointer!=$total)
            {
                    $next=$newslist[$pointer];
            }
            $this->assign('prev',$prev);
            $this->assign('next',$next);

把文章缓存成php数组。。。
$newslist=array (
  0 =>
  array (
    'title' => '读《狼性团队》《华为教父任正非》有感',
    'key' => 'news-5.html',
    'id' => '5',
  ),
  1 =>
  array (
    'title' => '没有规矩,不成方圆',
    'key' => 'news-4.html',
    'id' => '4',
  ),
  2 =>
  array (
    'title' => '做一个可靠的人',
    'key' => 'news-3.html',
    'id' => '3',
  ),
  3 =>
  array (
    'title' => '读《你在为谁工作》有感',
    'key' => 'news-2.html',
    'id' => '2',
  ),
  4 =>
  array (
    'title' => '游戏感想',
    'key' => 'news-1.html',
    'id' => '1',
  ),
)

作者: flyfishiii   发布时间: 2010-08-13

呵呵 这个是我无法解决的啊

作者: phphubei   发布时间: 2010-08-13

依然喜欢

作者: phphubei   发布时间: 2010-08-13

今天很不开心

作者: phphubei   发布时间: 2010-08-13

如果文章表有分类那在条件里面加上分类条件不就完了么!

作者: jran   发布时间: 2011-07-03