ページ番号は範囲ページネーション コードに自動的に適応します

WBOY
リリース: 2016-06-21 08:57:46
オリジナル
1124 人が閲覧しました

レンダリング:

以前、ページ番号メソッドのページネーション効果を見たことがあるのですが、ページ番号が多すぎると、60 ページを超えるまで改行が表示され続けます。見た目にも少し影響しますよ!

そこで、範囲に自動的に適応できるページ番号ページング プログラムを作成しました
つまり、ページ番号の形式は次のとおりです
<<< 4 5 6 7 > ページ番号は長すぎて見た目に影響を与えるのを避けるためです。 コードは主に初心者が読むためにコメントされています。笑、この関数はプレゼンテーション構造の分離を考慮せずに書かれています。専門家はそれを追求すべきではありません!
コンテンツをクリップボードにコピーします
コード:

function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){ $pagecode = ''; //ページングによって生成された HTML を保存する変数を定義します

$page = intval($page);//数値以外のページ番号を避ける
$total = intval($total);//合計レコードが値の型が正しい if(!$total) return array();//レコードの合計数がゼロの場合、空の配列を返します<br/> $pages = ceil($total/$pagesize);//合計ページングを計算します<br/> //ページ番号の処理は正当です Properties<br/> if($page<1) $page = 1;<br/> if($page>$pages) $page = $pages;<br> //クエリオフセットを計算します<br> $offset = $ pagesize*($page-1);<br> //ページ範囲の計算<br> $init = 1;//開始ページ番号<br> $max = $pages ;//終了ページ番号<br> $pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//ページ番号の数<br> $pageoffset = ($pagelen-1)/2;//ページ番号の左右のオフセット<br><br> //HTML を生成<br> $pagecode='<div class="page">';<br> $pagecode.="<span> $page/$pages</span>";//いいえ、何ページ、合計何ページ<br> //最初のページの場合、最初のページと前のページのつながりは表示されません<br> if($page!=1){<br> $pagecode.="&lt ;a href="{$phpfile}?page=1"><<</a>";//最初のページ<br> ?page=".($page-1).""><</a>";//前のページ<br> }<br> //ページ数の場合ページ数より大きい場合は、オフセットすることができます。 <br> if($pages>$pagelen){<br> //現在のページが左オフセット以下の場合<br> if($page< =$pageoffset){<br> $init=1;<br> $ max = $pagelen;<br> }else{//現在のページが左のオフセットより大きい場合<br> //右のオフセットの場合現在のページ番号が最大ページ数を超えています <br> if($page+$pageoffset>=$pages+ 1){<br> $init = $pages-$pagelen+1;<br> }else{<br> pageoffset ;<br> $max = $page+$pageoffset;<br> }<br> }<br> }<br> //html<br> を生成 for($i=$init;$i<=$max;$ i++){ <br> if($i==$page){<br> $pagecode.='<span>'.$i.'</span>';<br> } else {<br> $pagecode.="<a href="{$phpfile}?page={$i}">$i</a>";<br> }<br>    }<br>    if($page!=$pages){<br>        $pagecode.="<a href=\"&#123;$phpfile&#125;?page=".($page+1)."\">></a>";//下一页<br>        $pagecode.="<a href=\"&#123;$phpfile&#125;?page=&#123;$pages&#125;\">>></a>";//最后一页<br>    }<br>    $pagecode.='</div>';<br>    return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);<br>}<br>?></p>函数参数:<br>$page 当前$_GET获得的页码<br>$total 总记录数<br>$phpfile 页码连接文件名<br>$pagesize 不用解释了吧 呵呵<br>$pagelen 最多显示几个页码 注意(奇数),对称嘛!<br>函数返回一个数组:<br>pagecode 索引对应的内容是 生成的HTML 代码<br>sqllimit 索引对应的是sql limit 后缀<br><br>使用方法: <p class="blockcode"><em onclick="copycode($('code1'));">复制内容到剪贴板</em> </p> <h5>代码:</h5> <code id="code1"><?php<br/>$phpfile = 'index.php';<br/>$page= isset($_GET['page'])?$_GET['page']:1;<br/>$db = new Mysql();<br/>$counts = $db->counts('select `id` from `test`');<br>$sql='select `id`,`title` from `test`';<br>$getpageinfo = page($page,$counts,$phpfile);<br>$sql.=$getpageinfo['sqllimit'];<br>$data = $db->getRows($sql);<br>?><br><?php<br/>echo $getpageinfo['pagecode'];//显示分页的html代码<br/>?>补贴css

复制内容到剪贴板

代码:

<style type="text/css"><br>body{font-family:Tahoma;}<br>.page{padding:2px;font-weight:bolder;font-size:12px;}<br>.page a{border:1px solid #ccc;padding:0 5px 0 5px;margin:2px;text-decoration:none;color:#333;}<br>.page span{padding:0 5px 0 5px;margin:2px;background:#09f;color:#fff;border:1px solid #09c;}<br></style>

 

<font face="Verdana">以下是HTML网页特效代码,点击运行按钮可查看效果:<p class="UBBContainer"></p> <p class="UBBTitle"> 以下是程序代码</p> <p class="UBBContent"><textarea rows="8" id="CodeText33417" class="UBBText"><style type="text/css"> .page { width:auto; height:auto } .page ul { list-style:none; paddingL0; margin:0 } .page li { width:auto; height:20px; line-height:20px; float:left; margin-right:2px; color:#000; display:block; font-size:12px } .page li a { width:auto; height:20px; line-height:20px; border:1px solid #CCC; float:left; margin-right:2px; color:#000; TEXT-DECORATION: none; display:block; padding:0 5px; font-size:12px } .page li a:hover { background:blue; color:white; TEXT-DECORATION: none; border:1px solid blue } </style> <div class="page"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">6</a></li> <li><a href="#">7</a></li> <li><a href="#">8</a></li> <li><a href="#">9</a></li> <li><a href="#">10</a></li> <li><a href="#">11</a></li> <li><a href="#">12</a></li> <li><a href="#">13</a></li> <li><a href="#">14</a></li> <li><a href="#">15</a></li> </ul> </div></font>

Alixixi Web ページ特殊効果コード ステーション、js.alixixi.com へようこそ

[Ctrl+A すべて選択 ヒント: 最初にコードの一部を変更してから実行を押すことができます]



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート