Home  >  Article  >  Backend Development  >  Digital paging effect of PHP self-study project

Digital paging effect of PHP self-study project

WBOY
WBOYOriginal
2016-08-08 09:20:02747browse

Learning points:
1. LIMIT usage
2. Various parameters
3. Hyperlink call

First: Set up the digital paging module in the file; my file is (blog.php)

<span>//</span><span>分页模块</span><span>$_page</span> = <span>$_GET</span>['page'<span>];
</span><span>$_pagesize</span> = 10<span>;
</span><span>$_pagenum</span> = (<span>$_page</span> - 1) * <span>$_pagesize</span><span>;
</span><span>//</span><span>首页要得到所有的数据总和</span><span>$_num</span>=<span>mysql_num_rows</span>(_query("SELECT tg_id FROM tg_user"<span>));
</span><span>$_pageabsolute</span>=<span>$_num</span> / <span>$_pagesize</span>;

To Note that when fetching a set from the database

// we must re-read the result set every time instead of re-executing the SQL statement.
$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");
Set the effect of paging loop

<span><div>
    <ul>
    <?php <span>for</span>(<span>$i</span>=0;<span>$i</span><<span>$_pageabsolute</span>;<span>$i</span>++<span>){
        </span><span>if</span> (<span>$_page</span> == (<span>$i</span>+1<span>)) {
            </span><span>echo</span> '<li><a href="blog.php?page='.(<span>$i</span>+1).'">'.(<span>$i</span>+1).'</a></li>'<span>;
        }</span><span>else</span><span>{
            </span><span>echo</span> '<li><a href="blog.php?page='.(<span>$i</span>+1).'">'.(<span>$i</span>+1).'</li>'<span>;
        }
    } </span>?>
    </ul>
    </div></span>

Corresponding 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;
}

There may be errors due to encoding. The solution is

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

The above introduces the digital paging effect of the PHP self-study project, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn