如何添加分页?

时间:2016-01-25 10:51:22

标签: php html

我有这个简单的数组,我想添加一个分页,显示数组中的内容为2。

页数取决于数组内部的数量。

此链接"<<"显示第一页和此链接">>"显示最后一页。

这是我的代码:

任何解决方案或想法的人?

$arr = array(   "coffeebean" => "coffee", 
                            "sansrival" => "cakes",
                            "Kylo ren" => "starwars",
                            "2story" => "koreanfoods",
                            "mooon" => "moon",
                            "barak"=>"obama"                                
                            );
            //display
            display($arr);
            function display($arr){
                foreach($arr as $key => $val){
                echo "{$key} =  {$val}";
                echo "<br>";
                }
            }

1 个答案:

答案 0 :(得分:1)

Let me explain you logic:

1)将数组计数到变量中。

2)从上面变量计算页数。

3)在记录下方显示分页href链接。

4)如果页码无效,则显示找不到页面错误。

<?php
$arr = array("coffeebean" => "coffee", "sansrival" => "cakes", "Kylo ren" => "starwars", "2story" => "koreanfoods", "mooon" => "moon", "barak" => "obama");

// display
$page = isset($_REQUEST['page']) && $_REQUEST['page'] > 0 ? $_REQUEST['page'] : 1;

function display($arr, $page = 1) {
    $start = ($page-1) * 2;
    $arr = array_slice($arr, $start, 2);
  foreach ($arr as $key => $val) {
    echo "{$key} =  {$val}";
    echo "<br>";
  }
}
$len = count($arr);
$pages = ceil($len/2);
if ($page > $pages OR $page < 1) {
    echo 'page not found';
}
else {
    display($arr, $page);
    for ($i=1; $i<=$pages ; $i++) {
        $current = ($i==$page) ? TRUE : FALSE;
        if ($current) {
            echo '<b>'.$i.'</b>';
        }
        else {
        ?>
        <a href="?page=<?php echo $i;?>"><?php echo $i;?></a>
        <?php
        }
    }
}