• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP从练项目之数字分页效果

php 搞代码 4年前 (2022-01-24) 14次浏览 已收录 0个评论

PHP自练项目之数字分页效果

学习要点:
1.LIMIT 用法
2.各种参数
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>$i</span>+1).'" class="selected">'.(<span style="color: #800080">$i</span>+1).'</li>'<span style="color: #000000">;        }</span><span style="color: #0000ff">else</span><span style="color: #000000">{            </span><span style="color: #0000ff">echo</span> '<li>$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);转换成<i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img>整数</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>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP从练项目之数字分页效果

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址