首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 分頁函數:數字分頁與文字分頁雙模式

     編輯:PHP 綜合知識

核心函數

// 初始化分頁參數
function _page($_sql, $_size) {
    global $_page, $_pagesize, $_pagenum, $_pageabsolute, $_num;
    $_page = isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1;
    $_pagesize = $_size;
    $_num = _num_rows(_query($_sql));
    $_pageabsolute = $_num ? ceil($_num / $_pagesize) : 1;
    if ($_page > $_pageabsolute) $_page = $_pageabsolute;
    $_pagenum = ($_page - 1) * $_pagesize;
}

// 輸出分頁 HTML
function _paging($_type) {
    global $_page, $_pageabsolute, $_num;
    if ($_type == 1) { // 數字分頁
        echo '<div id="page_num"><ul>';
        for ($i = 0; $i < $_pageabsolute; $i++) {
            $p = $i + 1;
            $class = ($_page == $p) ? ' class="selected"' : '';
            echo "<li><a href=\"blog.php?page={$p}\"{$class}>{$p}</a></li>";
        }
        echo '</ul></div>';
    } elseif ($_type == 2) { // 文字分頁
        echo '<div id="page_text"><ul>';
        echo "<li>{$_page}/{$_pageabsolute} 頁 | </li>";
        echo "<li>共<strong>{$_num}</strong>條 | </li>";
        if ($_page == 1) {
            echo '<li>首頁 | </li><li>上一頁 | </li>';
        } else {
            echo '<li><a href="'.SCRIPT.'.php">首頁</a> | </li>';
            echo '<li><a href="'.SCRIPT.'.php?page='.($_page-1).'">上一頁</a> | </li>';
        }
        if ($_page == $_pageabsolute) {
            echo '<li>下一頁 | </li><li>尾頁</li>';
        } else {
            echo '<li><a href="'.SCRIPT.'.php?page='.($_page+1).'">下一頁</a> | </li>';
            echo '<li><a href="'.SCRIPT.'.php?page='.$_pageabsolute.'">尾頁</a></li>';
        }
        echo '</ul></div>';
    }
}

調用方式

// 在查詢前調用
_page("SELECT * FROM users", 20);
// 查詢時加 LIMIT $_pagenum, $_pagesize
// 模板中輸出
_paging(1); // 數字分頁
_paging(2); // 文字分頁
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved