qiangcxq 发表于 2018-9-21 17:08

TODO 基础分页的相同代码封装,使前台的代码更少

<?php
/**
* TODO 基础分页的相同代码封装,使前台的代码更少.
*
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
*
* @Return \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

世界上最好的语言就是 PHP
页: [1]
查看完整版本: TODO 基础分页的相同代码封装,使前台的代码更少