吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2458|回复: 2
收起左侧

[其他转载] TODO 基础分页的相同代码封装,使前台的代码更少

[复制链接]
qiangcxq 发表于 2018-9-21 17:08
[PHP] 纯文本查看 复制代码
<?php
/**
 * TODO 基础分页的相同代码封装,使前台的代码更少.
 *
 * @param $count 要分页的总记录数
 * @param int $pagesize 每页查询条数
 *
 * [url=home.php?mod=space&uid=155549]@Return[/url] \Think\Page
 */
function getpage($count, $pagesize, $data)
{
    $p = new Think\Page($count, $pagesize, $data);
    $p->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
    $p->setConfig('prev', '上一页');
    $p->setConfig('next', '下一页');
    $p->setConfig('last', '末页');
    $p->setConfig('first', '首页');
    $p->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
    $p->lastSuffix = false; //最后一页不显示为总页数
    return $p;
}
//把科学计数还原
function NumToStr($num)
{
    if (stripos($num, 'e') === false) {
        return $num;
    }
    $num = trim(preg_replace('/[=\'"]/', '', $num, 1), '"'); //出现科学计数法,还原成字符串
    $result = '';
    while ($num > 0) {
        $v = $num - floor($num / 10) * 10;
        $num = floor($num / 10);
        $result = $v.$result;
    }

    return $result;
}
/*
* 分页计算
* 函数参数 page:当前页数,page_log:单页条数,data_log:全部数据数组
*/
function pagingCalculation($page, $page_log, $data_log)
{
    $page = $page <= 1 ? 1 : $page;
    $whole_log = count($data_log);
    $funAuto = array(
        'whole_log' => $whole_log, //总条数
        'whole_page' => ($whole_log % $page_log) == 0 ? ($whole_log / $page_log) : ceil((($whole_log % $page_log) > 0) ? (($whole_log / $page_log < 1) ? 1 : ($whole_log / $page_log)) : ($whole_log / $page_log) + 1), //总页数,向上取整
        'page_data' => array_slice($data_log, ($page - 1) * $page_log, $page_log), //截取的页面数据
    );

    return $funAuto;
}
//传递数据以易于阅读的样式格式化后输出
function p($data, $isstyle = true, $isdie = false)
{
    if ($isstyle) {
        // 定义样式
        $str = '<pre style="display: block;padding: 9.5px;margin: 44px 0 0 0;font-size: 13px;line-height: 1.42857;color: #333;word-break: break-all;word-wrap: break-word;background-color: #F5F5F5;border: 1px solid #CCC;border-radius: 4px;">';
    } else {
        $str = '<pre>';
    }
    // 如果是boolean或者null直接显示文字;否则print
    if (is_bool($data)) {
        $show_data = $data ? 'true' : 'false';
    } elseif (is_null($data)) {
        $show_data = 'null';
    } else {
        $show_data = print_r($data, true);
    }
    $str .= $show_data;
    $str .= '</pre>';
    $str .= <<<php


php;
    echo $str;
    $isdie && die;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wangqiustc 发表于 2018-9-21 17:26
最近在看这个,学习一下
5register 发表于 2018-9-21 17:57
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 20:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表