国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php分頁原理 分頁代碼 分頁類制作教程

php分頁原理 分頁代碼 分頁類制作教程

2021-03-03 16:15簡同學的代碼園 PHP教程

這篇文章主要為大家詳細介紹了php分頁原理,php分頁代碼,php分頁類制作教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下

分頁顯示是一種非常常見的瀏覽和顯示大量數據的方法,屬于web編程中最常處理的事件之一。對于web編程的老手來說,編寫這種代碼實在是和呼吸一樣自然,但是對于初學者來說,常常對這個問題摸不著頭緒,因此特地撰寫此文對這個問題進行詳細的講解。

一、分頁原理:

       所謂分頁顯示,也就是將數據庫中的結果集人為的分成一段一段的來顯示,這里需要兩個初始的參數:

       每頁多少條記錄($PageSize)?
       當前是第幾頁($CurrentPageID)?

       現在只要再給我一個結果集,我就可以顯示某段特定的結果出來。

       至于其他的參數,比如:上一頁($PReviousPageID)、下一頁($NextPageID)、總頁數($numPages)等等,都可以根據前邊這幾個東西得到。

       以MySQL數據庫為例,如果要從表內截取某段內容,sql語句可以用:select * from table limit offset, rows。看看下面一組sql語句,嘗試一下發現其中的規率。

       前10條記錄:select * from table limit 0,10
       第11至20條記錄:select * from table limit 10,10
       第21至30條記錄:select * from table limit 20,10

……
        這一組sql語句其實就是當$PageSize=10的時候取表內每一頁數據的sql語句,我們可以總結出這樣一個模板:
        select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize
        拿這個模板代入對應的值和上邊那一組sql語句對照一下看看是不是那么回事。搞定了最重要的如何獲取數據的問題以后,剩下的就僅僅是傳遞參數,構造合適的sql語句然后使用php從數據庫內獲取數據并顯示了。

二、分頁代碼說明:五個步驟

代碼中有充分解釋,可復制到自己記事本中直接使用 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>雇員信息列表</title>
</head>
<?php
    //顯示所有emp表的信息
    //1.連接數據庫
    $conn=mysql_connect('localhost','root','1234abcd') or die('連接數據庫錯誤'.mysql_error());
    //2.選擇數據庫
    mysql_select_db('empManage');
   //3.選擇字符集
    mysql_query('set names utf8');
   //4.發送sql語句并得到結果進行處理
    //4.1分頁[分頁要發出兩個sql語句,一個是獲得$rowCount,一個是通過sql的limit獲得分頁結果。所以我們會獲得兩個結果集,在命名的時候要記得區分。
分頁 (四個值 兩個sql語句)。]
  $pageSize=3;//每頁顯示多少條記錄
   $rowCount=0;//共有多少條記錄
    $pageNow=1;//希望顯示第幾頁
    $pageCount=0;//一共有多少頁 [分頁共有這個四個指標,缺一不可。由于$rowCount可以從服務器獲得的,所以可以給予初始值為0;
$pageNow希望顯示第幾頁,這里最好是設置為0;$pageSize是每頁顯示多少條記錄,這里根據網站需求提前制定。
.$pageCount=ceil($rowCount/$pageSize),既然$rowCount可以初始值為0,那么$pageCount當然也就可以設置為0.四個指標,兩個0 ,一個1,另一個為網站需求。]
         //4.15根據分頁鏈接來修改$pageNow的值
         if(!empty($_GET['pageNow'])){
            $pageNow=$_GET['pageNow'];
        }[根據分頁鏈接來修改$pageNow的值。]
     $sql='select count(id) from emp';
     $res1=mysql_query($sql);
    //4.11取出行數
     if($row=mysql_fetch_row($res1)){
        $rowCount=$row[0];       
    }//[取得$rowCount,,進了我們就知道了$pageCount這兩個指標了。]
    //4.12計算共有多少頁
     $pageCount=ceil($rowCount/$pageSize);
    $pageStart=($pageNow-1)*$pageSize;
    
     //4.13發送帶有分頁的sql結果
     $sql="select * from emp limit $pageStart,$pageSize";//[根據$sql語句的limit 后面的兩個值(起始值,每頁條數),來實現分頁。以及求得這兩個值。]
    $res2=mysql_query($sql,$conn) or die('無法獲取結果集'.mysql_error());
     echo '<table border=1>';[    echo "<table border='1px' cellspacing='0px' bordercolor='red' width='600px'>";]
 "<tr><th>id</th><th>name</th><th>grade</th><th>email</th><th>salary</th><th><a href='#'>刪除用戶</a></th><th><a href='#'>修改用戶</a></th></tr>";    while($row=mysql_fetch_assoc($res2)){
        echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['grade']}</td><td>{$row['email']}</td><td>{$row['salary']}</td><td><a href='#'>刪除用戶</a></td><td><a href='#'>修改用戶</a></td></tr>";    }
     echo '</table>';
     //4.14打印出頁碼的超鏈接
     for($i=1;$i<=$pageCount;$i++){
         echo "<a href='?pageNow=$i'>$i</a> ";//[打印出頁碼的超鏈接]
     
     }
     //5.釋放資源,關閉連接
     mysql_free_result($res2);
    mysql_close($conn);
?>
</html>

三、簡單分頁類分享

現在公布一個簡單分類制作。只要理解了這個類的原理和步驟,其他復雜類也就能夠觸類旁通了。不廢話,直接上源碼,可以直接用在你的項目中。

數據庫操作類代碼:mysqli.func.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
// 數據庫連接常量
 define('DB_HOST', 'localhost');
 define('DB_USER', 'root');
 define('DB_PWD', '');
 define('DB_NAME', 'guest');
  
 // 連接數據庫
 function conn()
 {
   $conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME);
   mysqli_query($conn, "set names utf8");
  return $conn;
}
 
//獲得結果集
function doresult($sql){
 $result=mysqli_query(conn(), $sql);
  return $result;
 }
 
 //結果集轉為對象集合
 function dolists($result){
  return mysqli_fetch_array($result, MYSQL_ASSOC);
 }
 
 function totalnums($sql) {
  $result=mysqli_query(conn(), $sql);
 return $result->num_rows;
 }
  
 
 // 關閉數據庫
 function closedb()
 {
   if (! mysqli_close()) {
    exit('關閉異常');
   }
}
 
?>

    

分頁實現代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
 include 'mysqli.func.php';
 // 總記錄數
 $sql = "SELECT dg_id FROM tb_user ";
 $totalnums = totalnums($sql);
  
 // 每頁顯示條數
 $fnum = 8;
 
 // 翻頁數
 $pagenum = ceil($totalnums / $fnum);
 
 //頁數常量
 @$tmp = $_GET['page'];
  
 //防止惡意翻頁
 if ($tmp > $pagenum)
   echo "<script>window.location.href='index.php'</script>";
  
 //計算分頁起始值
 if ($tmp == "") {
  $num = 0;
} else {
  $num = ($tmp - 1) * $fnum;
 }
// 查詢語句
 $sql = "SELECT dg_id,dg_username FROM tb_user ORDER BY dg_id DESC LIMIT " . $num . ",$fnum";
 $result = doresult($sql);
 
 // 遍歷輸出
 while (! ! $rows = dolists($result)) {
   echo $rows['dg_id'] . " " . $rows['dg_username'] . "<br>";
 }
  
 // 翻頁鏈接
 for ($i = 0; $i < $pagenum; $i ++) {
   echo "<a href=index.php?page=" . ($i + 1) . ">" . ($i + 1) . "</a>";
 }
 
 ?>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 中文字幕 视频一区 | www.日韩 | 日韩成人免费电影 | 九九成人 | 国产免费久久 | 亚洲黄色成人 | 亚洲视频1区 | 国产天堂网 | 亚洲一区久久 | 国产第一区在线观看 | 中文视频在线 | 日产欧产va高清 | 一级毛片免费视频 | 日本中文字幕在线播放 | 国产精品网站在线看 | 午夜私人影院 | 日本精品一区二区三区在线观看 | 91高清在线观看 | 88888888国产一区二区 | 国产精品一区一区三区 | 99久久久国产精品 | 亚洲一区中文字幕在线观看 | 国产一区二区三区免费在线观看 | 亚洲精品一区二区三区在线 | 免费精品视频 | 国产91对白叫床清晰播放 | 成人小视频在线观看 | 色婷婷av久久久久久久 | 综合网激情五月 | 亚洲国产精品电影在线观看 | 久草电影在线 | 午夜久久乐 | 日韩欧美一区二区三区 | 日日夜夜一区二区 | 欧美在线不卡视频 | 中文字幕国产视频 | 亚洲精品视频在线 | 国产成人精品一区二区三区四区 | 亚洲国产aⅴ成人精品无吗 久久久91 | 亚洲成a人v欧美综合天堂麻豆 | 日本国产欧美 |