帝国论坛帝国网站管理系统交流区帝国CMS使用交流[原创]分享个自定义分页 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:[原创]分享个自定义分页 [加入收藏夹]   

xuanzm
用户头衔:举人

精华贴   :0
发贴数   :141
经验值   :757
注册时间:2014-03-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]分享个自定义分页
注:动态下才可用

列表模板调用:
echo my_ShowListPage();

自定义分页函数:
function my_ShowListPage(){

    // 全局
        global $empire,$dbtbpre,$fun_r;//引入全局变量

        // 当前栏目
    $categoryId = $GLOBALS['navclassid']; // 当前栏目 ID
    $modid = $GLOBALS['class_r'][$categoryId]['modid']; // 当前栏目模型 ID
    $tableName = $GLOBALS['emod_r'][$modid]['tbname']; // 当前模型对应表名

    // 查询记录总数
    $query = "SELECT COUNT(*) AS total FROM {$dbtbpre}ecms_{$tableName} WHERE classid = {$categoryId}";
    $result = $empire->fetch1($query);
    $num = (int)$result['total']; // 总条数

    // 分页配置
    $pagenum = 10; // 每页显示条数
    $totalpages = max(1, ceil($num / $pagenum)); // 总页数

    $_SESSION['myshowpage']=1;
    if($_SESSION['myshowpage']>$totalpages)
    {
        $_SESSION['myshowpage']=1;
    }
   
    $_SESSION['myshowpage']=$_SESSION['myshowpage']+($num-$pagenum);
    $page = $_SESSION['myshowpage'];

    echo "<br>";
    echo $page;
    echo "<br>";

    $dolink = "index"; // 链接模板
    $dotype = ".html"; // 链接后缀
    $lencord = 5; // 页码导航长度

    /// 分页链接生成
    $pagelink = "";

    // 首页
    $pagelink .= $page > 1
        ? "<a href='{$dolink}{$dotype}'>{$fun_r['startpage']}</a> "
        : "<span>{$fun_r['startpage']}</span> ";

    // 上一页
    if ($page >= 1) {
        $prevpage = $page - 1;
        $prevlink = $prevpage == 1 ? "{$dolink}{$dotype}" : "{$dolink}_{$prevpage}{$dotype}";
        $pagelink .= "<a href='{$prevlink}'>{$fun_r['pripage']}</a> ";
    } else {
        $pagelink .= "<span>{$fun_r['pripage']}</span> ";
    }

    // 中间页
    $start = max(1, $page - intval($lencord / 2));
    $end = min($totalpages, $start + $lencord - 1);

    for ($i = $start; $i <= $end; $i++) {
        if ($i == $page) {
            $pagelink .= "<strong>{$i}</strong> ";
        } else {
            $link = $i == 1 ? "{$dolink}{$dotype}" : "{$dolink}_{$i}{$dotype}";
            $pagelink .= "<a href='{$link}'>{$i}</a> ";
        }
    }

    // 下一页
    if ($page < $totalpages) {
        $nextpage = $page + 1;
        $nextlink = "{$dolink}_{$nextpage}{$dotype}";
        $pagelink .= "<a href='{$nextlink}'>{$fun_r['nextpage']}</a> ";
    } else {
        $pagelink .= "<span>{$fun_r['nextpage']}</span> ";
    }

    // 尾页
    if ($page < $totalpages) {
        $lastlink = "{$dolink}_{$totalpages}{$dotype}";
        $pagelink .= "<a href='{$lastlink}'>{$fun_r['lastpage']}</a>";
    } else {        
        $pagelink .= "<span>{$fun_r['lastpage']}</span>";
    }

    // 下拉
    $options = "<select name='select' onchange=\"self.location.href=this.options[this.selectedIndex].value\">";
    for ($i = 1; $i <= $totalpages; $i++) {
        $link = $i == 1 ? "{$dolink}{$dotype}" : "{$dolink}_{$i}{$dotype}";
        $selected = $i == $page ? " selected" : "";
        $options .= "<option value='{$link}'{$selected}>{$fun_r['gotos']}{$i}{$fun_r['gotol']}</option>";
    }
    $options .= "</select>";

    // 输出
    echo $pagelink . " " . $options;
    echo "<br>";
    echo "totalpages:" . $totalpages;

}



我是全栈的:UI\前端\后端{欢迎合作}QQ1129799070
2024-11-21 14:16:10 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5952
经验值   :16974
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

支持




2024-11-22 08:08:19 已设置保密 顶部 回复 引用 报告 编辑 删除

worldcms
用户头衔:进士

精华贴   :0
发贴数   :989
经验值   :4376
注册时间:2017-05-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持




2024-11-22 12:56:18 已设置保密 顶部 回复 引用 报告 编辑 删除

csdn2
用户头衔:探花

精华贴   :0
发贴数   :4705
经验值   :13842
注册时间:2013-11-21
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持下




2024-11-23 22:08:20 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6717
经验值   :20989
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

支持一下




2024-11-25 07:51:11 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5952
经验值   :16974
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持下




2024-11-26 08:12:35 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4258
经验值   :10915
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持一下




2024-11-27 08:11:13 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5952
经验值   :16974
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持下




2024-11-28 07:59:16 已设置保密 顶部 回复 引用 报告 编辑 删除

包展昭
用户头衔:进士

精华贴   :0
发贴数   :660
经验值   :2599
注册时间:2017-05-08
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持




2024-11-30 20:09:04 已设置保密 顶部 回复 引用 报告 编辑 删除

tkf88
用户头衔:探花

精华贴   :0
发贴数   :8732
经验值   :22199
注册时间:2007-05-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持一下




2024-12-14 05:50:32 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1