猿记录

一个记录、分享的博客

您的位置:主页 > dedecms >

dedecms 首页分页处理

2018-07-20 14:44:33 作者:yxl 次阅读 dedecms

//上一篇文章有介绍了怎么新建一个文件夹请求

传送门:https://www.yxlblog.com/view-919-1.html

继续上一篇的文章来介绍:

我们来写个分页功能

php代码

<?php 
header("Content-Type:text/html;charset=utf-8");
require_once(dirname(__FILE__) . "/../include/common.inc.php");
error_reporting(E_ALL || ~E_NOTICE);
$pageSize=10;
$pageNow=1;
if( !empty($_GET['pageNow']) && is_numeric($_GET['pageNow'])){
$pageNow=$_GET['pageNow'];
};
$pageCount=0;
$count = $dsql->GetOne("select count(*) as count from dede_archives");
$pageCount=ceil($count['count']/$pageSize);
$sql = "SELECT * FROM dede_archives  order by pubdate desc limit ".($pageNow-1)*$pageSize.",".$pageSize;
$dsql->SetQuery($sql);//将SQL查询语句格式化  如果你直接 $dsql->Execute($sql); 这样不行
$dsql->Execute(); //执行sql
function json_return ($code=1,$msg,$list=[]){
$arr = [
'code' => $code,
'page' => $GLOBALS['pageNow'],   //第几页
'pageSize' => $GLOBALS['pageSize'],   //每页条数
'count' => $GLOBALS['pageCount']*$GLOBALS['pageSize'],  //总条数
'msg' => $msg,
'list' => $list
];
return json_encode($arr,true);
}
$result = [];
while($row = $dsql->GetArray()){
 array_push($result,$row);
}
//转码 如果你不是gbk格式的话,这部不需要进行
function changeArr($arr)
{
foreach($arr as $k=>$v)
{
if (is_array($v))
{
$arr[$k] = changeArr($v);
} else {
$arr[$k] = iconv('GB2312', 'UTF-8', $v); 
}
}
return $arr;
}
$result = changeArr($result);
echo  json_return(1,'ok',$result);

js代码

//分页

$(function() {
    var loadMoreInfo = {
        page: 1,
        isLoad: false,
    }
    function formatNumber(n) {
        n = n.toString()
        return n[1] ? n : '0' + n
    }
    function formatTime(number, format) {
        var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
        var returnArr = [];
        var date = new Date(number * 1000);
        returnArr.push(date.getFullYear());
        returnArr.push(formatNumber(date.getMonth() + 1));
        returnArr.push(formatNumber(date.getDate()));
        returnArr.push(formatNumber(date.getHours()));
        returnArr.push(formatNumber(date.getMinutes()));
        returnArr.push(formatNumber(date.getSeconds()));
        for (var i in returnArr) {
            format = format.replace(formateArr[i], returnArr[i]);
        }
        return format;
    }
    function domHtml(list) {
        var listLen = list.length;
        var text = "";
        for (var i = 0; i < listLen; i++) {
            var imgBox = '';
            var time = formatTime(list[i].pubdate, 'Y-M-D h:m:s');
            if (list[i].litpic == '') {
                imgBox = '<img src="/images/load.png"  alt="">';
            } else {
                imgBox = '<img src="' + list[i].litpic + '"  alt="">';
            }
            //字符串拼接
            text += "<div class=\"article shadow lazyload\" data-scroll-reveal>";
            text += "<div class=\"article-left\">";
            text += imgBox
            text += "</div>";
            text += "<div class=\"article-right\">";
            text += "<div class=\"article-title\">";
            text += "";
            text += "<a href=\"/view-" + list[i].id + "-1.html\" title=" + list[i].title + " target=\"_blank\">" + list[i].title + "</a>";
            text += "</div>";
            text += "<div class=\"article-abstract SimSun\">";
            text += list[i].description
            text += "</div>";
            text += "</div>";
            text += "<div class=\"clear\"></div>";
            text += "<div class=\"article-footer\">";
            text += "<span><i class=\"fa fa-clock-o\"></i>&nbsp;&nbsp;" + time + "</span>";
            text += "<span class=\"article-author\"><i class=\"fa fa-user\"></i>&nbsp;&nbsp;" + list[i].writer + "</span>";
            text += "<span><i class=\"fa fa-tag\"></i>&nbsp;&nbsp;<a href=\"/view-" + list[i].id + "-1.html\" title=\"" + list[i].keywords + "\" target=\"_blank\">" + list[i].keywords + "</a></span>";
            text += "<span class=\"article-viewinfo\"><i class=\"fa fa-eye\"></i>&nbsp;" + list[i].click + "</span>";
            text += "  ";
            text += "</div>";
            text += "</div>";
        }
        $('.j-new-article').html(text);
    }
    function loadMore() {
        $.ajax({
              //下面这个是你的请求url
            url: 'xxx/xx',
            datType: "JSON",
            contentType: "application/json",
            data: {
                pageNow: loadMoreInfo.page
            },
            success: function(res) {
                var res = $.parseJSON(res);
                if (loadMoreInfo.page == Math.ceil(res.count / res.pageSize)) {
                    loadMoreInfo.page--;
                    return;
                }
                if (res.code == 1) {
                    domHtml(res.list);
                }
            }
        })
    }
    //下面是分页操作,根据自己的实际情况
    //上一页
    $('#j-prev').on('click', function() {
        if (loadMoreInfo.page === 1) {
            $('.left-page-item').hide();
            return
        }
        loadMoreInfo.page--;
        loadMore();
    })
    //下一页
    $('#j-next').on('click', function() {
        $('.left-page-item').show();
        loadMoreInfo.page++;
        loadMore();
    })
})


凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词: dedecms
0

网友评论