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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - PHP教程 - PHP分頁顯示的方法分析【附PHP通用分頁類】

PHP分頁顯示的方法分析【附PHP通用分頁類】

2019-10-08 10:32孫瑞 PHP教程

這篇文章主要介紹了PHP分頁顯示的方法,結(jié)合實(shí)例形式分析了php數(shù)據(jù)庫查詢及內(nèi)容結(jié)合HTML分頁顯示的簡單操作技巧,并附帶一個(gè)PHP通用分頁類供大家參考使用,需要的朋友可以參考下

本文實(shí)例講述了PHP分頁顯示的方法。分享給大家供大家參考,具體如下:

<?php
header("content-type:text/html;charset=utf-8");
$currentpage = 1;
if(isset($_GET['page']))
  $currentpage = $_GET['page'];
//連接數(shù)據(jù)庫
$link = mysql_connect("localhost","root","") or die('連接失敗');
mysql_select_db('myschool');
mysql_query('set names utf8');
$sql ="SELECT count(*) as 'count' from student";//查詢記錄的sql語句
$result = mysql_query($sql);
$arr = mysql_fetch_array($result);
$count = $arr['count'];
$pagesize = 3;
$pages = ceil($count/$pagesize);//共多少頁
$prepage = $currentpage -1;
if($prepage<=0)
  $prepage=1;
$nextpage = $currentpage+1;
if($nextpage >= $pages){
 $nextpage = $pages;
}
$start =($currentpage-1) * $pagesize;//起始位置
$sql = "SELECT * from student limit $start,$pagesize";
echo $sql;
// $sql = "select * from student";
$result = mysql_query($sql);
?>
<!-- html部分 -->
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
<table border="1">
 <tr>
 <td>學(xué)號(hào)</td>
 <td>姓名</td>
 <td>性別</td>
 <td>年齡</td>
 </tr>
<?php while($arr=mysql_fetch_array($result)){ ?>
 <td><?php echo $arr['number']; ?></td>
 <td><?php echo $arr['name']; ?></td>
 <td><?php echo $arr['sex']; ?></td>
 <td><?php echo $arr['age']; ?></td>
 </tr>
<?php } ?>
 </table>
 <a href="<?php echo $_SERVER['PHP_SELF'].'?page='.$prepage; ?>" rel="external nofollow" >上一頁</a>  <a href="<?php echo $_SERVER['PHP_SELF'].'?page='.$nextpage; ?>" rel="external nofollow" >下一頁</a>
</body>
</html>

注:當(dāng)一個(gè)文件中有php和html兩種時(shí),php文件必須有結(jié)束標(biāo)記

附:php通用分頁類與用法:

Page.class.php文件:

<?php
/**
 * 分頁類
 *
 * 調(diào)用方式:
 * $p=new Page(總條數(shù),顯示頁數(shù),當(dāng)前頁碼,每頁顯示條數(shù),[鏈接]);
 * print_r($p->getPages()); //生成一個(gè)頁碼數(shù)組(鍵為頁碼,值為鏈接)
 * echo $p->showPages(1);  //生成一個(gè)頁碼樣式(可添加自定義樣式)
 *
 */
/*
總條數(shù),需要顯示的頁數(shù),當(dāng)前頁,每頁顯示的條數(shù),連接
生成一個(gè)一維數(shù)組,鍵為頁碼 值為連接
返回一個(gè)生成好樣式的頁碼(并且可以根據(jù)自己需要添加樣式)
默認(rèn)樣式 共45條記錄,每頁顯示10條,當(dāng)前第1/4頁 [首頁] [上頁] [1] [2] [3] .. [下頁] [尾頁]
*/
class Page{
  protected $count;    //總條數(shù)
  protected $showPages;  //需要顯示的頁數(shù)
  protected $countPages; //總頁數(shù)
  protected $currPage;  //當(dāng)前頁
  protected $subPages;  //每頁顯示條數(shù)
  protected $href;    //連接
  protected $page_arr=array();  //保存生成的頁碼 鍵頁碼 值為連接
  /**
   * __construct 構(gòu)造函數(shù)(獲取分頁所需參數(shù))
   * @param int $count   總條數(shù)
   * @param int $showPages 顯示頁數(shù)
   * @param int $currPage 當(dāng)前頁數(shù)
   * @param int $subPages 每頁顯示數(shù)量
   * @param string $href  連接(不設(shè)置則獲取當(dāng)前URL)
   */
  public function __construct($count,$showPages,$currPage,$subPages,$href=''){
    $this->count=$count;
    $this->showPages=$showPages;
    $this->currPage=$currPage;
    $this->subPages=$subPages;
    //如果鏈接沒有設(shè)置則獲取當(dāng)前連接
    if(empty($href)){
      $this->href=htmlentities($_SERVER['PHP_SELF']);
    }else{
      $this->href=$href;
    }
    $this->construct_Pages();
  }
  /**
   * getPages 返回頁碼數(shù)組
   * @return array 一維數(shù)組 鍵為頁碼 值為鏈接
   */
  public function getPages(){
    return $this->page_arr;
  }
  /**
   * showPages 返回生成好的頁碼
   * @param int $style 樣式
   * @return string   生成好的頁碼
   */
  public function showPages($style=1){
    $func='pageStyle'.$style;
    return $this->$func();
  }
  /**
   * pageStyle1 分頁樣式(可參照這個(gè)添加自定義樣式 例如pageStyle2())
   * 樣式 共45條記錄,每頁顯示10條,當(dāng)前第1/4頁 [首頁] [上頁] [1] [2] [3] .. [下頁] [尾頁]
   * @return string
   */
  protected function pageStyle1(){
    /* 構(gòu)造普通模式的分頁
    共4523條記錄,每頁顯示10條,當(dāng)前第1/453頁 [首頁] [上頁] [1] [2] [3] .. [下頁] [尾頁]
    */
    $pageStr='共'.$this->count.'條記錄,每頁顯示'.$this->subPages.'條';
    $pageStr.='當(dāng)前第'.$this->currPage.'/'.$this->countPages.'頁 ';
    $_GET['page'] = 1;
    $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >首頁</a>] </span>';
    //如果當(dāng)前頁不是第一頁就顯示上頁
    if($this->currPage>1){
      $_GET['page'] = $this->currPage-1;
      $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >上頁</a>] </span>';
    }
    foreach ($this->page_arr as $k => $v) {
      $_GET['page'] = $k;
      $pageStr.='<span>[<a href="'.$v.'" rel="external nofollow" >'.$k.'</a>] </span>';
    }
    //如果當(dāng)前頁小于總頁數(shù)就顯示下一頁
    if($this->currPage<$this->countPages){
      $_GET['page'] = $this->currPage+1;
      $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >下頁</a>] </span>';
    }
    $_GET['page'] = $this->countPages;
    $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >尾頁</a>] </span>';
    return $pageStr;
  }
  /**
   * construct_Pages 生成頁碼數(shù)組
   * 鍵為頁碼,值為鏈接
   * $this->page_arr=Array(
   *         [1] => index.php?page=1
   *         [2] => index.php?page=2
   *         [3] => index.php?page=3
   *         ......)
   */
  protected function construct_Pages(){
    //計(jì)算總頁數(shù)
    $this->countPages=ceil($this->count/$this->subPages);
    //根據(jù)當(dāng)前頁計(jì)算前后頁數(shù)
    $leftPage_num=floor($this->showPages/2);
    $rightPage_num=$this->showPages-$leftPage_num;
    //左邊顯示數(shù)為當(dāng)前頁減左邊該顯示的數(shù) 例如總顯示7頁 當(dāng)前頁是5 左邊最小為5-3 右邊為5+3
    $left=$this->currPage-$leftPage_num;
    $left=max($left,1); //左邊最小不能小于1
    $right=$left+$this->showPages-1; //左邊加顯示頁數(shù)減1就是右邊顯示數(shù)
    $right=min($right,$this->countPages); //右邊最大不能大于總頁數(shù)
    $left=max($right-$this->showPages+1,1); //確定右邊再計(jì)算左邊,必須二次計(jì)算
    for ($i=$left; $i <= $right; $i++) {
      $_GET['page'] = $i;
      $this->page_arr[$i]=$this->href.'?'.http_build_query($_GET);
    }
  }
}
?>

用法示例demo.php:

<?php
/**
 * demo
 */
header("content-type:text/html;charset=utf8");
include('Page.class.php');  //引入類
//$p=new Page(總條數(shù),顯示頁數(shù),當(dāng)前頁碼,每頁顯示條數(shù),[鏈接]);
//連接不設(shè)置則為當(dāng)前鏈接
$page=isset($_GET['page']) ? $_GET['page'] : 1;
$p=new Page(100,4,$page,8);
//生成一個(gè)頁碼數(shù)組(鍵為頁碼,值為鏈接)
echo "<pre>";
print_r($p->getPages());
//樣式 共45條記錄,每頁顯示10條,當(dāng)前第1/4頁 [首頁] [上頁] [1] [2] [3] .. [下頁] [尾頁]
echo $p->showPages(1);

 

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 91在线观看 | 亚洲一区二区中文字幕 | 黄色一级大片在线免费看产 | 色婷婷综合久久久中文字幕 | 欧美99| 97久久久久久久久久久久 | 日韩在线电影 | 欧美成人精品一区二区三区 | 97色综合| 午夜影晥 | 免费观看黄色12片一级视频 | 97视频免费在线观看 | 在线成人av | 国产视频网| 欧美精品1 | 午夜精品久久久久久久99黑人 | 亚洲精品视频在线观看免费 | 欧美日韩中文在线观看 | 久久精品成人 | 成人免费在线电影 | 日韩字幕在线 | 久久久久久久久久久久久九 | 亚洲午夜精品视频 | 国产一区在线视频观看 | 久久精品这里热有精品 | 成人在线一区二区三区 | 激情片网站 | 久久er99热精品一区二区 | 日韩av片无码一区二区不卡电影 | 亚洲在线播放 | av超碰| 女人高潮特级毛片 | 久久精品亚洲 | 国产精品亚洲一区二区三区 | 人人人人澡人人爽人人澡 | 久久国产免费 | 久久久久久一区二区三区 | 欧美 日韩 综合 | 欧美日韩一区二区三区视频 | 激情久久网 | 国产91精品一区二区绿帽 |