PHPトレーニングプロジェクトのデジタルページング効果

WBOY
リリース: 2016-06-13 12:23:25
オリジナル
832 人が閲覧しました

PHP 独習プロジェクトのデジタル ページング効果

学習ポイント:
1. 使用量を制限
3. ハイパーリンク呼び出し

最初: 最初のセットアップファイル内のデジタル ページング モジュール; 私のファイルは (blog.php)

<span style="color: #008000;">//</span><span style="color: #008000;">分页模块</span><span style="color: #800080;">$_page</span> = <span style="color: #800080;">$_GET</span>['page'<span style="color: #000000;">];</span><span style="color: #800080;">$_pagesize</span> = 10<span style="color: #000000;">;</span><span style="color: #800080;">$_pagenum</span> = (<span style="color: #800080;">$_page</span> - 1) * <span style="color: #800080;">$_pagesize</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">首页要得到所有的数据总和</span><span style="color: #800080;">$_num</span>=<span style="color: #008080;">mysql_num_rows</span>(_query("SELECT tg_id FROM tg_user"<span style="color: #000000;">));</span><span style="color: #800080;">$_pageabsolute</span>=<span style="color: #800080;">$_num</span> / <span style="color: #800080;">$_pagesize</span>;
ログイン後にコピー
データベースからセットをフェッチするときは、

/ であることに注意してください。 / SQL ステートメントを再実行するのではなく、毎回結果セットを再読み取る必要があります。


$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");ページング ループの効果を設定します

<span style="font-size: 16px;"><div id="page_num">    <ul>    <?php <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span><<span style="color: #800080;">$_pageabsolute</span>;<span style="color: #800080;">$i</span>++<span style="color: #000000;">){        </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$_page</span> == (<span style="color: #800080;">$i</span>+1<span style="color: #000000;">)) {            </span><span style="color: #0000ff;">echo</span> '<li><a href="blog.php?page='.(<span style="color: #800080;">$i</span>+1).'" class="selected">'.(<span style="color: #800080;">$i</span>+1).'</a></li>'<span style="color: #000000;">;        }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{            </span><span style="color: #0000ff;">echo</span> '<li><a href="blog.php?page='.(<span style="color: #800080;">$i</span>+1).'">'.(<span style="color: #800080;">$i</span>+1).'</li>'<span style="color: #000000;">;        }    } </span>?>    </ul>    </div></span>
ログイン後にコピー
対応する CSS

#page_num {	height:20px;	clear:both;	padding:10px 0;	position:relative;}#page_num ul {	position:absolute;	right:30px;	height:20px;}#page_num ul li {	float:left;	width:26px;	height:20px;}#page_num ul li a {	display:block;	width:20px;	height:20px;	line-height:20px;	border:1px solid #333;	text-align:center;	text-decoration:none;}#page_num ul li a:hover,#page_num ul li a.selected {	background:#666;	font-weight:bold;	color:#fff;}
ログイン後にコピー

にはエンコードによるエラーが含まれている可能性があります。 解決策は次のとおりです。

<span style="font-size: 18px;"><span style="color: #008000;">//</span><span style="color: #008000;"> 分页模块</span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">isset</span> ( <span style="color: #800080;">$_GET</span> ['page'<span style="color: #000000;">] )) {    </span><span style="color: #008000;">//</span><span style="color: #008000;"> 在数据不再数据范围内出错的解决方法</span>    <span style="color: #800080;">$_page</span> = <span style="color: #800080;">$_GET</span>['page'<span style="color: #000000;">];    </span><span style="color: #008000;">//</span><span style="color: #008000;"> 是否为空,是否小于0,是否不是数字。//如果其中有一个是,那么就=1</span>    <span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">empty</span> ( <span style="color: #800080;">$_page</span> )||<span style="color: #800080;">$_page</span> < 0 || !<span style="color: #008080;">is_numeric</span>( <span style="color: #800080;">$_page</span><span style="color: #000000;"> )) {        </span><span style="color: #800080;">$_page</span> = 1<span style="color: #000000;">;    } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {        </span><span style="color: #800080;">$_page</span> = <span style="color: #008080;">intval</span> ( <span style="color: #800080;">$_page</span> ); <span style="color: #008000;">//</span><span style="color: #008000;"> 如果是数字,但是小数,那么就$_page = intval($_page);转换成整数</span><span style="color: #000000;">    }} </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {    </span><span style="color: #800080;">$_page</span> = 1<span style="color: #000000;">;}</span><span style="color: #800080;">$_pagesize</span> = 10<span style="color: #000000;">;</span><span style="color: #800080;">$_num</span> = _num_rows( _query ( "SELECT tg_id FROM tg_user"<span style="color: #000000;"> ) );</span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$_num</span>==0<span style="color: #000000;">) {    </span><span style="color: #800080;">$_pageabsolute</span>=1<span style="color: #000000;">;}</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{    </span><span style="color: #800080;">$_pageabsolute</span>=<span style="color: #008080;">ceil</span>(<span style="color: #800080;">$_num</span>/<span style="color: #800080;">$_pagesize</span><span style="color: #000000;">);}</span><span style="color: #008000;">//</span><span style="color: #008000;">当页码大于总页码的时候,就会返回到总页码的最后一页</span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$_page</span>><span style="color: #800080;">$_pageabsolute</span><span style="color: #000000;">) {    </span><span style="color: #800080;">$_page</span>=<span style="color: #800080;">$_pageabsolute</span><span style="color: #000000;">;}</span><span style="color: #800080;">$_pagenum</span> = (<span style="color: #800080;">$_page</span> - 1) * <span style="color: #800080;">$_pagesize</span>;</span>
ログイン後にコピー

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