PHP分頁入門實例 附php函數代碼

jopen 9年前發布 | 1K 次閱讀 PHP

準備數據:

新建一個數據庫 test
執行下面的語句(新建一個表 test :id、sex、name 三個字段)

 CREATE TABLE `test` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sex` INT( 1 ) NOT NULL ,
`name` VARCHAR( 20 ) NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin;

添加數據到 test 表,比如:
1 1 小強
2 0 小紅
3 0 小麗
4 1 小兵
5 1 張三
6 0 李四
7 0 吳欣

寫PHP語句(index.php):

    <?php
    // Page分頁函數
    $page = $_GET["page"];
    function Page($rows,$page_size){
    global $page,$select_from,$select_limit,$pagenav;
    $page_count = ceil($rows/$page_size);
    if($page <= 1 || $page == '') $page = 1;
    if($page >= $page_count) $page = $page_count;
    $select_limit = $page_size;
    $select_from = ($page - 1) * $page_size.',';
    $pre_page = ($page == 1)? 1 : $page - 1;
    $next_page= ($page == $page_count)? $page_count : $page + 1 ;
    $pagenav .= "第 $page/$page_count 頁 共 $rows 條記錄 ";
    $pagenav .= "<a href='?page=1'>首頁</a> ";
    $pagenav .= "<a href='?page=$pre_page'>前一頁</a> ";
    $pagenav .= "<a href='?page=$next_page'>后一頁</a> ";
    $pagenav .= "<a href='?page=$page_count'>末頁</a>";
    $pagenav.=" 跳到<select name='topage' size='1' onchange='window.location=\"?page=\"+this.value'>\n";
    for($i=1;$i<=$page_count;$i++){
    if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
    else $pagenav.="<option value='$i'>$i</option>\n";
    }
    } // Page分頁函數
    // 使用示例
    if (!$conn= mysql_connect("localhost", "root" ,"root")) die('數據庫選擇失敗!');
    if (!mysql_select_db("test", $conn)) die('數據庫選擇失敗!');
    mysql_query('set names GBK');
    // 用Page函數計算出 $select_from 從哪條記錄開始檢索、$pagenav 輸出分頁導航
    $rows = mysql_num_rows(mysql_query("select * from test"));
    Page($rows,2);
    $sql = "select * from test limit $select_from $select_limit";
    $rst = mysql_query($sql);
    while ($row = mysql_fetch_array($rst)){
    echo "$row[id] - $row[sex] - $row[name] <hr />";
    }
    echo $pagenav;
    ?>


瀏覽 index.php 頁面,如圖:

該說byebye了,確實好用!

PHP簡單分頁函數
寫了一個php簡單的分頁函數,數據庫調用也寫到里面了 ,用的人可以自行刪減!

    function getask(){
    $sql = "select  from cms_ask where ansower <> ' ' ";
    //這里要改成方法
    $q_sq = mysql_query($sql);
    $count = mysql_num_rows($q_sq);
    $page_size = 8;
    $page_current = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1;
    $page_count = ceil($count / $page_size);
    $page_start = $page_current - 4;
    $page_end = $page_current + 4;
    if ($page_current < 5) {
    $page_start = 1;
    $page_end = 5;
    }
    if ($page_current > $page_count - 4) {
    $page_start = $page_count - 8;
    $page_end = $page_count;
    }
    if ($page_start < 1)
    $page_start = 1;
    if ($page_end > $page_count)
    $page_end = $page_count;
    $pagebar = "";
    $sql = "select  from cms_ask where ansower <> ' ' order by id desc limit " . (($page_current - 1) * $page_size) . "," . $page_size;
    $row=$this -> user -> getall("$sql");
    foreach($row as $v){
    echo '<dl><dt>問:'.$v["question"].'</dt><dd>答:'.$v["ansower"].date("Y-m-d H:i:s",$v["postTime"]).'</dd></dl>';

}

$pagebar .= "<div class=\"page\">";
$pagebar .= "<ol>";
if ($page_current != 1) {
$pagebar .= '<li><a href="javascript:get_comment(1)" class="sx">FIRST</a></li>';
}
for ($i = $page_start; $i <= $page_end; $i++) {
if ($i == $page_current) {
$pagebar .= "<li><span class=\"sort\">" . $i . "</span></li>";
} else {
$pagebar .= "<li><a href='javascript:get_comment(" . $i . ")'>" . $i . "</a></li>";
}
}

if ($page_current != $page_count) {
$pagebar .= "<li><a href='javascript:get_comment(" . $page_count . ")' class='sx'>END</a></li>";
}
$pagebar .= "</ol>";
$pagebar .= " </div>";
echo $pagebar;
}

</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!