php分頁代碼及總結

來源:互聯網
上載者:User

標籤:跳轉   action   指令   串連錯誤   向上取整   else   輸出   free   count   

代碼部分:

<?PHP
header("Content-type:text/html;charset=utf-8");
$pageSize = 10;
//接收傳入的分頁碼
$page = $_GET[‘p‘];
//擷取分頁資料
$host = "localhost";
$username = "root";
$password = "";
$db = "lian";
$conn = mysql_connect($host,$username,$password);
if(!$conn){
  echo "串連錯誤";
  exit;
}
mysql_select_db($db);
mysql_query("SET NAMES UTF8");
$sql= "select * from page LIMIT ".(($page-1)*$pageSize).",".$pageSize; 
$result = mysql_query($sql);
echo "<table border=1 cellspacing=0 width=40%>";
echo "<tr><td>id</td><td>name</td></tr>";
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row[‘id‘]."</td>";
echo "<td>".$row[‘name‘]."</td>";
echo "</tr>";
}
echo "</table>";
mysql_free_result($result);
$total_sql = "SELECT COUNT(*) FROM page";
$total_result = mysql_fetch_array(mysql_query($total_sql));
$total = $total_result[0];
$total_pages = ceil($total/$pageSize);
$showPage = 7;
$pageOffset = ($showPage-1)/2;
$start = 1;
$end = $total_pages;
mysql_close($conn);
//顯示資料和分頁
$page_banner = "";
if($page > 1){
$page_banner = "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=1‘>首頁</a>";
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($page-1)."‘>上一頁</a>";
}
if($total_pages > $page){
  if($page > ($pageOffset+1)&&$page < ($total_pages-2)){
    $start = $page - $pageOffset;
    $end = $page + $pageOffset;
  }else if($page <= ($pageOffset+1)){
    $start = 1;
    $end = 7;
  }else{
    $start = $total_pages-6;
    $end = $total_pages;
  }
}else{
    $start = 1;
    $end = $total_pages;
}

for($i = $start;$i<=$end;$i++){
  if($page == $i){
    $page_banner .= "<span style=‘color:red‘>".$i."</span>";
  }else{
    $page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".$i."‘>".$i."</a>";
  }
}

if($page < $total_pages){
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($page+1)."‘>下一頁</a>";
$page_banner .= "<a href=‘".$_SERVER[‘PHP_SELF‘]."?p=".($total_pages)."‘>尾頁</a>";
}
$page_banner .="共有".$total_pages."頁";
$page_banner .="<form action=‘page.php‘ method=‘get‘>";
$page_banner .="到第<input type=‘text‘ name=‘p‘ size=‘2‘>頁去";
$page_banner .="<input type=‘submit‘ value=‘確定‘>";
$page_banner .="</form>";
echo $page_banner;
?>

總結部分:

1,接收傳入的顯示頁面指令參數($page)

2,串連資料庫利用sql語句從資料庫取出資料,主要是select * from 表名 limit 開始位置,每頁顯示的條數
其中要注意limit後一定要放一個空格
3,從資料庫查出總條數,ceil()函數操作總條數/每頁顯示的條數計算出總頁數,其中ceil()是向上取整
4,前一頁是$page-1,後一頁是$page+1,首頁是1,尾頁是總頁數
5,跳轉到哪一頁用一個表單傳參即可
6,最重要的是顯示頁碼,根據一個頁面中顯示幾個頁碼、位移量、總頁數和一個頁面中顯示的頁碼數比較從而確定
頁面中顯示的第一個頁碼和最後一個頁碼,遍曆輸出所有要顯示的頁碼。

php分頁代碼及總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.