PHP 分页使用twitter引导样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 分页使用twitter引导样式相关的知识,希望对你有一定的参考价值。

<?php 
// Set the current page at 1 if it's not already set
if(!isset($_GET['p'])){$_GET['p']=1;}

$per_page = 100;
$count_transactions = count($transactions);
$pages = ceil($count_transactions / $per_page);
$current_page = (isset($_GET['p'])) ? $_GET['p'] : 1;
$clean_query_string = (isset($_GET['user_id'])) ? str_ireplace("p=".@$_GET['p']."&", "", $_SERVER['QUERY_STRING']) : str_ireplace("p=".@$_GET['p'], "", $_SERVER['QUERY_STRING']);
if(substr($clean_query_string,-1)=="&"){$clean_query_string = substr_replace($clean_query_string, "", -1);}

$transactions = array_slice($transactions, ($current_page - 1) * $per_page, $per_page);

?>

<?php if($user->is_admin() && ($count_transactions > $per_page || isset($_GET['p'])) && $pages > 1):?>
<div class="pagination">
    <ul>
        <?php if($pages <= 12):?>
        
        <li class="prev <?php if($_GET['p']==1 || !isset($_GET['p'])):?>disabled<?php endif;?>"><?php if($_GET['p']==1 || !isset($_GET['p'])):?><a href="#">← Previous</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']-1;?>&<?php echo $clean_query_string;?>">← Previous</a><?php endif;?></li>
        <?php for($i=1;$i<=$pages;$i++):?>
        <li class="<?php if($i==$_GET['p']) echo "active";?>"><?php if($i!=$_GET['p']):?><a href="reports.php?p=<?php echo $i;?>&<?php echo $clean_query_string;?>"><?php echo $i;?></a><?php else:?><a href="#"><?php echo $i;?></a><?php endif;?></li>
        <?php endfor;?>
        <li class="next <?php if($_GET['p']==$pages):?>disabled<?php endif;?>"><?php if($_GET['p']==$pages):?><a href="#">Next →</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']+1;?>&<?php echo $clean_query_string;?>">Next →</a><?php endif;?></li>
        
        <?php else: ?>
        
            <?php if($current_page <= 5):?>
            <li class="prev <?php if($_GET['p']==1 || !isset($_GET['p'])):?>disabled<?php endif;?>"><?php if($_GET['p']==1 || !isset($_GET['p'])):?><a href="#">← Previous</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']-1;?>&<?php echo $clean_query_string;?>">← Previous</a><?php endif;?></li>
            <?php for($i=1;$i<=$current_page+5;$i++):?>
            <li class="<?php if($i==$_GET['p']) echo "active";?>"><?php if($i!=$_GET['p']):?><a href="reports.php?p=<?php echo $i;?>&<?php echo $clean_query_string;?>"><?php echo $i;?></a><?php else:?><a href="#"><?php echo $i;?></a><?php endif;?></li>
            <?php endfor;?>
            <li class=""><a href="#">...</a></li>
            <li class=""><a href="reports.php?p=<?php echo $pages;?>&<?php echo $clean_query_string;?>"><?php echo $pages;?></a></li>
            <li class="next <?php if($_GET['p']==$pages):?>disabled<?php endif;?>"><?php if($_GET['p']==$pages):?><a href="#">Next →</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']+1;?>&<?php echo $clean_query_string;?>">Next →</a><?php endif;?></li>
            <?php endif;?>
            
            <?php if($current_page > 5 && $current_page < $pages-5):?>
            <li class="prev <?php if($_GET['p']==1 || !isset($_GET['p'])):?>disabled<?php endif;?>"><?php if($_GET['p']==1 || !isset($_GET['p'])):?><a href="#">← Previous</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']-1;?>&<?php echo $clean_query_string;?>">← Previous</a><?php endif;?></li>
            <?php if($current_page>=7):?>
            <li class=""><a href="reports.php?p=1&<?php echo $clean_query_string;?>">1</a></li>
            <li class=""><a href="#">...</a></li>
            <?php endif;?>
            <?php for($i=$current_page-5;$i<=$current_page+5;$i++):?>
            <li class="<?php if($i==$_GET['p']) echo "active";?>"><?php if($i!=$_GET['p']):?><a href="reports.php?p=<?php echo $i;?>&<?php echo $clean_query_string;?>"><?php echo $i;?></a><?php else:?><a href="#"><?php echo $i;?></a><?php endif;?></li>
            <?php endfor;?>
            <?php if($current_page<=$pages-6):?>
            <li class=""><a href="#">...</a></li>
            <li class=""><a href="reports.php?p=<?php echo $pages;?>&<?php echo $clean_query_string;?>"><?php echo $pages;?></a></li>
            <?php endif;?>
            <li class="next <?php if($_GET['p']==$pages):?>disabled<?php endif;?>"><?php if($_GET['p']==$pages):?><a href="#">Next →</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']+1;?>&<?php echo $clean_query_string;?>">Next →</a><?php endif;?></li>
            <?php endif;?>
            
            <?php if($current_page >= $pages-5):?>
            <li class="prev <?php if($_GET['p']==1 || !isset($_GET['p'])):?>disabled<?php endif;?>"><?php if($_GET['p']==1 || !isset($_GET['p'])):?><a href="#">← Previous</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']-1;?>&<?php echo $clean_query_string;?>">← Previous</a><?php endif;?></li>
            <li class=""><a href="reports.php?p=1&<?php echo $clean_query_string;?>">1</a></li>
            <li class=""><a href="#">...</a></li>
            <?php for($i=$current_page-5;$i<=$pages;$i++):?>
            <li class="<?php if($i==$_GET['p']) echo "active";?>"><?php if($i!=$_GET['p']):?><a href="reports.php?p=<?php echo $i;?>&<?php echo $clean_query_string;?>"><?php echo $i;?></a><?php else:?><a href="#"><?php echo $i;?></a><?php endif;?></li>
            <?php endfor;?>
            <li class="next <?php if($_GET['p']==$pages):?>disabled<?php endif;?>"><?php if($_GET['p']==$pages):?><a href="#">Next →</a><?php else:?><a href="reports.php?p=<?php echo $_GET['p']+1;?>&<?php echo $clean_query_string;?>">Next →</a><?php endif;?></li>
            <?php endif;?>
            
        <?php endif;?>
    </ul>
</div>
<?php endif;?>

以上是关于PHP 分页使用twitter引导样式的主要内容,如果未能解决你的问题,请参考以下文章

配置 KnpPaginator 以使用 Twitter Bootstrap

样式化 twitter 引导按钮

jQuery 数据表 Twitter/facebook 样式分页

将 Twitter 引导验证样式和消息应用于 ASP.NET MVC 验证

jQuery 分页 + Twitter Bootstrap

使用 PHP 和 MySQL 的引导分页