1、创建pagination.php文件,编写分页方法,下面只需在需要分页的页面调用这个方法即可
<?php
/** 分页函數
* $page : 当前页
* $page_size : 每页显示条数
* $record_count : 总记录数
* $page_num : 显示页面连接数量
* $url : 链接url
*/
$lang_w = array(
'default' => array(
'prev' => '',
'next' => ''
),
'en' => array(
'prev' => 'Prev',
'next' => 'Next'
),
'cn' => array(
'prev' => '上一页',
'next' => '下一页'
),
'tc' => array(
'prev' => '上一頁',
'next' => '下一頁'
)
);
if (!in_array($lang, array('en', 'cn', 'tc'))) $lang = 'default';
$pagination = "";
if( intval( ($record_count-1)/$page_size )>0 ){
$page_count = intval($record_count/$page_size)+( ($record_count%$page_size)==0?0:($record_count%$page_size)/($record_count%$page_size) );
$page = intval($page);
$page>0?$page:1;
$page>$page_count?$page_count:$page;
if ($page_count>1)
$pagination .= '<div class="pagination">';
if($page==1){
$pagination .= '<span class="disabled">< '.$lang_w[$lang]['prev'].'</span>';
$pagination .= '<span class="current">'.$page.'</span>';
}
else{
$pagination .= '<a href="'.$url.'&page='.($page-1).'">< '.$lang_w[$lang]['prev'].'</a>';
$pagination .= '<a href="'.$url.'&page=1">1</a>';
}
if( $page_count-2>$page_num ){
$page_start = $page-intval($page_num/2);
$page_end = $page+intval($page_num/2);
if($page_start<=1){
$page_end = $page_end + 2 - $page_start;
$page_start = 2;
}
if($page_end>=$page_count){
$page_start = $page_start - ($page_end - $page_count + 1 );
$page_end = $page_count-1;
}
if($page_start>2){
$pagination .= '<span>...</span>';
}
for($i=$page_start; $i<=$page_end; $i++ ){
if($i==$page){
$pagination .= '<span class="current">'.$page.'</span>';
}
else{
$pagination .= '<a href="'.$url.'&page='.$i.'">'.$i.'</a>';
}
}
if($page_end<$page_count-1){
$pagination .= '<span>...</span>';
}
}
else{
for($i=2; $i<$page_count; $i++ ){
if($i==$page){
$pagination .= '<span class="current">'.$page.'</span>';
}
else{
$pagination .= '<a href="'.$url.'&page='.$i.'">'.$i.'</a>';
}
}
}
if($page_count>1){
if($page==$page_count){
$pagination .= '<span class="current">'.$page.'</span>';
$pagination .= '<span class="disabled">'.$lang_w[$lang]['next'].' ></span>';
}
else{
$pagination .= '<a href="'.$url.'&page='.$page_count.'">'.$page_count.'</a>';
$pagination .= '<a href="'.$url.'&page='.($page+1).'">'.$lang_w[$lang]['next'].' ></a>';
}
}
if ($page_count>1)
$pagination .= '</div>';
}
return $pagination;
}
?>
2、这儿是你要分页的php页面
1)首先在页面上定义几个对象
$page = intval($_GET['page']) >1 ? intval($_GET['page']) : 1;
$page_size = 5; //每页显示的条数
$url = "?";
2)查询需要显示的信息 $query = “ SELECT * FROM 表 ”;
3计算数据总数 $record_count = mysql_num_rows(mysql_query($query))
4)每页显示的数据条数 $query.= "LIMIT ".($page-1)*$page_size.",".$page_size.";";
5)执行查询语句 $result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
这儿是该页面要显示的数据信息
}
6)调用上面写好的分页函数 pagination($page, $page_size, $record_count, 3, $url);
PS:当然这是最简单的分页方法,比如每页的数据都是一列下来的,你要在一个页面里把这个页面上的数据再分成几行几列自己布局就行了,就是对table的tr、td进行循环的问题了,下面的图片是进行css美化了的,仅供参考
下图是与上面分页信息对应的源码