當前位置:首頁 » 編程語言 » php分頁操作

php分頁操作

發布時間: 2025-08-18 01:24:26

⑴ 求這種分頁的寫法首頁 上一頁1 2 3 4 5 6 7下一頁 尾頁,用php代碼寫拜託啦。關鍵語法就可以謝謝啦

真巧,前段時間剛好寫了一個這個格式的分頁類
第一個方法是返回數組格式的數據,可以方便的在模板上添加自己喜歡的樣式
第二個方法是直接返回的html代碼,可以直接輸出

<?php
header('Content-type:text/html; Charset=utf-8');
/**
* @author xuyonglin<[email protected]>
*/
class PageHelper{

/**
* createPage 生成分頁跳轉鏈接
* @param
* $page 當前頁
* $rowCount 總條目數
* $pagesize 每頁顯示最大條數
* $params 頁數後面的參數
* $front 前面顯示幾個頁碼
* $end 後面顯示幾個頁碼
*/
function createPage($page,$rowCount,$pagesize,$pager,$params,$front=5,$end=5) {
$count_page = ceil($rowCount/$pagesize);
if($page > $count_page){
$page = $count_page;
}
$page1 = $page;
$page2 = $page;

for ($i = 0; $i < $end+1; $i++) {
if ($page1 > $count_page) {
break;
}
$rs1[] = $page1;
$page1++;

}
for ($i = 0; $i < $front+1; $i++) {
$page2--;
if ($page2 == 0) {
break;
}
$rs2[] = $page2;
}
//$rs[] = '首頁';
//$rs[] = '上一頁';
@sort($rs2);
if($rs2){
foreach($rs2 as $value){
$rs[] = $value;
}
}
if($rs1){
foreach($rs1 as $value){
$rs[] = $value;
}
}
//$rs[] = '下一頁';
//$rs[] = '尾頁';
$re_pages = array(
'firstPage'=>'1',
'lastPage'=>$count_page,
'middles'=>$rs,
'currentPage'=>$page,
'countPage'=>$count_page
);

return $re_pages;
}
/**
* 分頁類
* 描述:用於數據分頁顯示鏈接
* @param int rowCount 表示數據總數量
* @param int pagesize 每頁顯示的數量
* @param sting $pager
* @param params 表示頁碼的超鏈中除了page參數之外的其它參數
* @return string 表示分頁的字元串
*/
public function showPage($page,$rowCount,$pagesize,$pager,$params){
//TODO: 數據分頁顯示
$count_page = ceil($rowCount/$pagesize);
if($page > $count_page){
$page = $count_page;
}
$page1 = $page;
$page2 = $page;
/*循環出頁數*/
for ($i = 0; $i < 6; $i++) {
if ($page1 > $count_page) {
break;
}
if ($page1 == $page) {
$rs1[] = $page1;
$page1++;
}else{
$rs1[] = '<a href="'.$pager.'?page='.$page1.$params.'">'.$page1.'</a>';
$page1++;
}

}
for ($i = 0; $i < 5; $i++) {
if ($page2 > $count_page) {
break;
}
$page2--;
if ($page2 == 0) {
break;
}
$rs2[] = '<a href="'.$pager.'?page='.$page2.$params.'">'.$page2.'</a>';
}
/*判斷是否是第一頁*/
if ($page == '1') {
$rs[] = '首頁';
$rs[] = '上一頁';
}else{
$rs[] = "<a href=$pager?page=1 $params>首頁</a>";
$rs[] = '<a href="'.$pager.'?page='.($page-1).$params.'">上一頁</a>';
}
@sort($rs2);
if($rs2){
foreach($rs2 as $value){
$rs[] = $value;
}
}

if($rs1){
foreach($rs1 as $value){
$rs[] = $value;
}
}
/*判斷是否是最後一頁*/
if ($page == $count_page) {
$rs[] = '下一頁';
$rs[] = '尾頁';
}else{
$rs[] = '<a href="'.$pager.'?page='.($page+1).$params.'">下一頁</a>';
$rs[] = "<a href=$pager?page=$count_page $params>尾頁</a>";
}

foreach($rs as $value){
$str .= $value.' ';
}
return $str;

}
}

//以下為示例
$ss = new PageHelper();
echo '<pre>';
//var_mp($ss->createPage(3,10000,20,'sss.php','ss',15,15));
var_mp($ss->showPage(35,10000,20,'sss.php','&type=1'));

?>

你把這段代碼復制了,然後粘貼到PHP文件裡面運行一下就可以了
最後一行代碼 裡面的幾個參數分別是
當前頁數,數據總條數,每頁顯示多少條,需要跳轉的頁面,頁數後面需要加的其它參數

⑵ PHP顯示很多資料庫信息,如何自動分頁呢代碼

PHP代碼如下:

/*

Author:默默
Date :2006-12-03

*/

$page=isset($_GET['page'])?intval($_GET['page']):1; //這句就是獲取page=18中的page的值,假如不存在page,那麼頁數就是1。
$num=10; //每頁顯示10條數據

$db=mysql_connect("host","name","pass"); //創建資料庫連接
$select=mysql_select_db("db",$db); //選擇要操作的資料庫

/*
首先咱們要獲取資料庫中到底有多少數據,才能判斷具體要分多少頁,具體的公式就是
總數據數除以每頁顯示的條數,有餘進一。
也就是說10/3=3.3333=4 有餘數就要進一。
*/

$total=mysql_num_rows(mysql_query("select id from table")); //查詢數據的總數,id是資料庫中的一個自動賦值的欄位
$pagenum=ceil($total/$num); //獲得總頁數

//假如傳入的頁數參數大於總頁數,則顯示錯誤信息
If($page>$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}

$offset=($page-1)*$num; //獲取limit的第一個參數的值,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。

$info=mysql_query("select name from table limit $offset,$num"); //獲取相應頁數所需要顯示的數據,name是數據里的一個欄位
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //顯示數據

For($i=1;$i<=$pagenum;$i++){

$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}

/*顯示分頁信息,假如是當頁則顯示粗體的數字,其餘的頁數則為超連接,假如當前為第三頁則顯示如下
1 2 3 4 5 6
*/
?>

⑶ 用PHP如何實現分頁並能夠實現上一頁,下一頁,跳轉到()頁的功能

<html><head>
<title>分頁示例(php</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<?php
$pagesize=10; //設定每一頁顯示的記錄數

$conn=mysql_connect("localhost","root","jrq");
mysql_select_db("sj",$conn);
$rs = mysql_query( "select * from `dw_newsdata`",$conn); //這里有第二個可選參數,指定打開的連接
//-----------------------------------------------------------------------------------------------//
//分頁邏輯處理
//-----------------------------------------------------------------------------------------------
$tmpArr = mysql_fetch_array($rs);
$numAL = mysql_num_rows($rs); //取得記錄總數$rs
$pages=intval($numAL/$pagesize); //計算總頁數

if ($numAL % $pagesize) $pages++;

//設置預設頁碼
//↓判斷「當前頁碼」是否賦值過
if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否則,設置為第一頁

//↓計算記錄偏移量
$offset=$pagesize*($page - 1);

//↓讀取指定記錄數
$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—當前頁—記錄集!
$curNum = mysql_num_rows($rs); //$curNum - 當前頁實際記錄數,for循環輸出用
?>
<table border="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">標題</td>
<td width="50%" bgcolor="#E0E0E0">發布時間</td>
</tr>

<?php
while ($tmpArr = mysql_fetch_array($rs)) //提取一行,並循環判斷
{
$i=0;

// for($a=0;$a<$ColNum;$a++) //==for結束==
?>
<tr>
<td width="50%"><?= $tmpArr[1]; //$tmpArr["news_title"] ; ?></td>
<td width="50%"><?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?></td>
</tr>

<?php

}//==while結束==
?>
</table>

<?php
//============================//
// 翻頁顯示 一
//============================//
echo "<p>"; // align=center
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;

if ($page > 1)
{
echo "<a href='?page=".$first."'>首頁</a> ";
echo "<a href='?page=".$prev."'>上一頁</a> ";
}

if ($page < $pages)
{
echo "<a href='?page=".$next."'>下一頁</a> ";
echo "<a href='?page=".$last."'>尾頁</a> ";
}

//============================//
// 翻頁顯示 二
//============================//
echo " | 共有".$pages."頁(".$page."/".$pages.")";

for ($i=1;$i< $page;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";} // 1-先輸出當前頁之前的

if ($page > 0) echo "[".$page."]";; // 2-再輸出當前頁

for ($i=$page+1;$i<=$pages;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";}// 3-接著輸出當前頁之後

echo "轉到第 <INPUT maxLength=3 size=3 value=".($page+1)." name=gotox> 頁 <INPUT hideFocus onclick=\"location.href='?page=gotox.value';\" type=button value=Go name=cmd_goto>";

echo "</p>";

?>

</body>
</html>

⑷ php中mysql語句怎麼寫分頁

limit 控制分頁

熱點內容
模擬器搭建dhcp伺服器步驟 發布:2025-08-18 04:18:35 瀏覽:350
全國java考試 發布:2025-08-18 04:16:34 瀏覽:657
使用androidSDK 發布:2025-08-18 04:01:32 瀏覽:511
iphone搜狐視頻緩存 發布:2025-08-18 03:26:13 瀏覽:652
c語言記錄時間 發布:2025-08-18 03:21:42 瀏覽:39
汽車眾籌源碼 發布:2025-08-18 03:11:06 瀏覽:158
vimphp語法 發布:2025-08-18 03:10:32 瀏覽:540
我的世界好的跑酷伺服器 發布:2025-08-18 02:09:09 瀏覽:746
iis怎麼安裝php 發布:2025-08-18 01:47:58 瀏覽:992
安卓手機如何免費獲得火箭少女 發布:2025-08-18 01:47:51 瀏覽:405