帝国cms实现列表ajax分页

首先在列表页模板新建一个ajax模板,然后插入如下代码,

<?
$ajax=(int)$_GET['ajax'];
if(!$ajax){ //判断ajax请求
	exit();
}
$tmpid=(int)$_GET['tempid'];
$totalnum=$empire->num("select id from {$dbtbpre}ecms_news where classid=$navclassid");
$line=6; //每页内容数
$page=(int)$_GET['page'];//当前页码
$start=0;
$page_line=6;//每页显示链接数
$offset=$page*$line;//总偏移量

//ajax前台分页   $num信息总数,$line每页信息书,$page_line每页显示链接数,$page页码
function page_ajax($num,$line,$page_line,$start,$page,$search){
    global $fun_r;
    if($num<=$line)
    {
        return '';
    }
    $search=RepPostStr($search,1);
    //$url=eReturnSelfPage(0).'?page';
    $url=eReturnSelfPage(0).'?'.$search.'&page';
    $snum=2;//最小页数
    $totalpage=ceil($num/$line);//取得总页数
    $fun_r['pripage']='<';
    $fun_r['nextpage']='>';
    $firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
    $prepage='<a class="prev end"  href="javascript:">'.$fun_r['pripage'].'</a>';
    $nextpage='<a class="next end" href="javascript:">'.$fun_r['nextpage'].'</a>';
    //上一页
    if($page<>0)
    {
        $toppage='<a data="0" href="javascript:">'.$fun_r['startpage'].'</a>';
        $pagepr=$page-1;
        $prepage='<a class="prev" data="'.$pagepr.'" href="javascript:">'.$fun_r['pripage'].'</a>';
    }
    //下一页
    if($page!=$totalpage-1)
    {
        $pagenex=$page+1;
        $nextpage='<a class="next" data="'.$pagenex.'" href="javascript:">'.$fun_r['nextpage'].'</a>';
        $lastpage='<a data="'.($totalpage-1).'" href="javascript:">'.$fun_r['lastpage'].'</a>';
    }
    $starti=$page-$snum<0?0:$page-$snum;
    $no=0;
    for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
    {
        $no++;
        if($page==$i)
        {
            $is_1='<a class="active" data="'.$i.'" href="javascript:">';
            $is_2='</a>';
        }
        else
        {
            $is_1='<a data="'.$i.'" href="javascript:">';
            $is_2='</a>';
        }
        $pagenum=$i+1;
        $returnstr.=$is_1.$pagenum.$is_2;
    }
    $returnstr=$prepage.$returnstr.$nextpage;
    return $returnstr;
}
?>
    <div class="idx_titbox">
        <span class="tit">新闻资讯</span>
    </div>
    <ul class="idx_pro_list clearfix">
    [e:loop={"select * from [!db.pre!]ecms_news where classid=$navclassid order by myorder=0,myorder,newstime DESC limit $offset,$line",10,24,0}]
        <li>
            <a href="<?=$bqsr['titleurl']?>">
                <img src="<?=$bqr['titlepic']?$bqr['titlepic']:'/e/data/images/notimg.gif'?>" alt="<?=$bqr['title']?>" class="img"/>
                <h6 class="title ellipsis"><?=$bqr['title']?></h6>
                <span class="shade">
                    <em class="more">了解详情</em>
                </span>
            </a>
        </li>
       [/e:loop]
    </ul>

    <div class="pagelist">
    <?php echo page_ajax($totalnum,$line,$page_line,$start,$page,$search)?>
    </div>

新建完成后,在需要ajax的页面插入如下js代码(我是在首页使用):

    <script> 
    function getlist(page,classid){
        $.ajax({
            url : '/e/action/ListInfo.php',
            type:'GET',
            data:{'ajax':1,'page':page,'classid':classid,'tempid':17,'line':'6'},
            dataType : 'html',
            success : function(data){
               if(data){
                    $(".idx_news").html(data);
                }else{
                    return false;
                }   
                $(".pagelist a").click(function(){
                    var page = $(this).attr('data');
                    getlist(page,27);
                });
            }
        });
    }

getlist(0,27);
    </script>

tempid是ajax列表模板的id,要对应上去,idx_news是对应的class,否则调不出出来,这个地方要注意,然后,在你需要显示列表的地方,插入如下代码

<div class="idx_news">
    <div class="idx_titbox">
        <span class="tit">新闻资讯</span>
    </div>
    <ul class="idx_pro_list clearfix">
    [e:loop={27,6,0,0}]
        <li>
            <a href="<?=$bqsr['titleurl']?>">
                <img src="<?=$bqr['titlepic']?$bqr['titlepic']:'/e/data/images/notimg.gif'?>" alt="<?=$bqr['title']?>" class="img"/>
                <h6 class="title ellipsis"><?=$bqr['title']?></h6>
                <span class="shade">
                    <em class="more">了解详情</em>
                </span>
            </a>
        </li>
       [/e:loop]
    </ul>
    <div class="pagelist">
        <a href="javascript:" class="prev bid" data="0">&lt;</a>
        <a href="javascript:" class="active" data="1">1</a>
        <a href="javascript:">2</a>
        <a href="javascript:">3</a>
        <a href="javascript:">...</a>
        <a href="javascript:">10</a>
        <a href="javascript:">&gt;</a>
    </div>
</div>

部分内容来源于网络,如有侵权请联系删除::狂人日记 » 帝国cms实现列表ajax分页

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏