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

学习要点:
1.LIMIT 用法
2.各种参数
3.超链接调用

第一:先在文件中设置数字分页模块;我的文件是(blog.php)

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

要注意的是在数据库中取集的时候

//我们必须每次重新读取结果集,而不是从新去执行SQL语句。
$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");
设置分页循环的效果

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

相对应的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;
}

  

在其中可能会由于编码出现容错误,解决的方法是

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

PHP自练项目之数字分页效果的相关文章

PHP自练项目之数字与文字的分页效果在函数中实现

/** * * @param $_sql * @param $_size */ function _page($_sql,$_size) { //将里面的所有变量取出来,外部可以访问 global $_page,$_pagesize,$_pagenum,$_pageabsolute,$_num; if (isset($_GET['page'])) { $_page = $_GET['page']; if (empty($_page) || $_page < 0 || !is_numeric($_

在SSH项目中实现分页效果

在实现分页的时候,我使用的是数据库下面的User表,实现的效果是通过分页查询 能够将表中的数据分页显示,点击相关的按钮实现:首页.上一页.下一页.末页的显示 1新建一个dynamic web project项目 ,导入SSH项目所需要的jar antlr-2.7.7.jar c3p0-0.9.5.2.jar classmate-1.3.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.apache.comm

[刘阳Java]_CSS数字分页效果

先给出效果图,见下图.下图主要的完成当鼠标放到分页数字的上会呈现一个变大的效果 实现思路: (1). 使用浮动属性,以便让li元素水平排列. (2).将a元素设置为块级元素,然后设置它们的尺寸. (3).使用链接伪类控制当鼠标放在链接之上使a元素尺寸变大:使用绝对定位,使a元素能够覆盖周边的元素. 特别说明:a元素的背景色设置为白色,因为默认状态背景是透明的,否则将会看到两边被遮盖的边框. <!DOCTYPE html> <html> <head> <meta c

CSS如何实现数字分页效果

代码实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><meta http-equiv="Content-Type&qu

thinkphp自定义分页效果

TP自带了一个分页函数,挺方便使用的. 下面是我的使用方法: 1 /*****************分页显示start*************************/ 2 $arr_page=$this->page($user,1); 3 $show=$arr_page['show']; 4 $Page=$arr_page['Page']; 5 $article = $user->order('now')->limit($Page->firstRow.','.$Page-&g

存储过程实现真分页效果

最近, 有几个接口是列表页面, 以前的后台做的是假分页, 就是数据库的数据都返回了, 然后让前端和移动端自己做假分页, 出于对数据库优化的考虑, 决定使用存储过程实现.项目使用.net mvc webapi model代码 #region 教学活动观摩列表 public class EduObAndVideoListPara { public string UserCode { set; get; } public string KindCode { set; get; } public Pag

PHP实现分页:文本分页和数字分页

来源:http://www.ido321.com/1086.html 最近,在项目中要用到分页.分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装. // 分页分装 /** * $pageType 分页类型 1是数字分页 2是文本分页 * 可以将$pageTotal,$page,$total等数据作为参数传递,或者在paging作为全局变量(推荐) */ function paging($pageType) { global $pageTotal,$page,$total; if($p

使用PHP对象实现分页效果!

面向对象的三大特点: 1:封装.2:继承.3:多态,对于多态在PHP当中不是那么的好介绍,只需要记住是运行时加载就行了! 对象的几个语句的意思:1:public在对象中是公开访问的,2:private在对象中是不能访问他的内容,保密状态 3:protected:户类和内部访问:4:--construct初始化对象! 接下来就是列子代码,代码如下: 1 <meta http-equiv="Content-Type" content="text/html;charset=U

[项目构建]babasport 分页的使用及解析.

首先说明: 这里分页是使用了SSM框架+ jsp 来做的, 当然分页还有其他的很多做法, 比如easyUI自带的分页效果. 但是这些原理都是很相似的, 再次只做为学习总结之用. 一, 效果图这里的截图是来自百度, 当然我们的项目也是做成这种效果, 当点击第10页时, 相应页码数也要发生相应变化. 二, 代码实例1, 首先我们在项目中加入了一个page 的jar包, 这个jar包有3个java文件组成, 这个jar包是事先写好的通用分页插件.另外这里将源码也写上来:Paginable.java: