发一个自己用的分页

发一个自己用的分页



[复制到剪切板]
CODE:
<?php
$perpage
=20;    //定义每页20条
$pages 1;    //定义初始共1页

//判断get到的page的参数
if(isset($_GET['page'])){
    if(!
is_numeric($page)){
        
$page 1;
     } else {
        
$page ceil($_GET['page']);
     }
} else {
    
$page 1;
}

//设置当前页的第1条数据在SQL语句中的表现:limit 0,10 这里的0
$currentColumn = ($page-1)*$perpage;

//news为自定义类,大家知道一下就好
$news = new news();

//returnCount方法返回总数
$columnCount $news->returnCount();

//判断如果总数大于每页的数量,则总页数为 总数 / 每页数 去掉小数点 +1
if($columnCount $perpage){
    
$pages ceil($columnCount $perpage);
}

//设置SQL中的order属性,这里大家可以忽略
$news->setOrder('news_id','desc');

//设置SQL中的limit属性,刚才的$currentColumn变量就用到了,不用类的朋友自己写SQL吧
$news->setLimit($currentColumn,$perpage);

//returnList方法返回SQL查询语句的结果,不用类的朋友自己写SQL吧
$newsList $news->returnList();


$pagination '';

//如果总页数为1就不需要显示啦~~~不为1就显示下面的东西啦~~~
if($pages != 1){
    if(
$page != 1)
        
$pagination ' <a href=\'1\' title=\'Page 1\'>&#9668;</a> ';
    if(
$page >= 6)
        
$pagination .= '<a href=\'1\' title=\'Page 1\'>1</a> <span class=\'break\'>...</span> ';
    for(
$i=$page-3;$i<$page;$i++){
        if(
$i 0) {
            
$pagination .= '<a href=\''.$i.'\' title=\'Page '.$i.'\'>'.$i.'</a> ';
        }
    }

    
$pagination .= '<span class=\'this-page\'>'.$page.'</span> ';

    for(
$i=$page+1;$i<=$pages;$i++){
        if(
$i <= $pages && $i <=$page+3) {
            
$pagination .= '<a href=\''.$i.'\' title=\'Page '.$i.'\'>'.$i.'</a> ';
        }
    }

    if((
$page+4) < $pages)
        
$pagination .= '<span class=\'break\'>...</span> <a href=\''.$pages.'\' title=\'Page '.$pages.'\'>'.$pages.'</a> ';
    if(
$page != $pages)
        
$pagination .= '<a href=\''.$pages.'\' title=\'Page '.$pages.'\'>&#9658;</a>';

    
//这里我用了smarty,其实如果不用smarty,就直接把这些写在HTML里也可以
    
$smarty->assign('pages',$pagination);
}
?> ;


效果是这样的



想看具体效果的可以访问
http://www.luoge.net

这个是本人的blog,绝对没毒

如果觉得不好的话...提出来...我没太多时间去修改,能用就行了,有需要的朋友我可以提供css

顶下罗哥

这个还好,我弄了个更简单的,改天发了 呵呵