【问题标题】:How to display this array data along with its respective page number?如何显示此数组数据及其各自的页码?
【发布时间】:2018-06-08 21:27:46
【问题描述】:

我在 pagination.php 文件中有这个分页代码,该文件已包含在主索引文件中。

<?php

$allItems = [];

for ($i=0; $i<25; $i++) 
{
    $allItems[] = $i;
}

$totalrows = count($allItems);
$perpage = 10;

$totalpages = ceil($totalrows / $perpage); // total number of pages

if ($totalpages < 1)
{
    $totalpages = 1;
}

$page = 1;
if (isset($_GET['page']))
{
    $page = (int)$_GET['page'];
}

if ($page < 1)
{ 
    $page = 1; 
} 
elseif ($page > $totalpages)
{ 
    $page = $totalpages; // set page to totalpages page number
}

$offset = ($page - 1) * $perpage;

if ($offset < 0)
{
    $offset = 0;
}

$allItems = array_slice($allItems, $offset, $perpage);

$pagination = "";

if ($totalpages != 1)
{
    $pagination .= '<ul class="pagination">';
    // first and previous link
    if ($page > 1) 
    {
        $previous = $page - 1;
        $pagination .= '<li class="page-item"><a class="page-link" href="' . $_SERVER['PHP_SELF'] . '?page=1" class="btn btn-default">First</a></li>'; // goto first page
        $pagination .= '<li class="page-item"><a class="page-link" href="' . $_SERVER['PHP_SELF'] . '?page=' . $previous . '" class="btn btn-default">Previous</a></li>';
    }

    // display page numbers
    for ($i = 1 ; $i <= $totalpages; $i++)
    {
        if ($i != $page)
        {
            $pagination .= '<li class="page-item"><a class="page-link" href="'.$_SERVER['PHP_SELF'].'?page='. $i .'" class="btn btn-default">'.$i.'</a></li> ';
        }
        else
        {
            $pagination .= '<li class="page-item"><button type="button" class="btn btn-default">' . $i . '</button></li>';
        }
    }

    // last and next link
    if ($page != $totalpages)
    {
        $next = $page + 1;
        $pagination .= '<li class="page-item"><a class="page-link" href="'.$_SERVER['PHP_SELF'].'?page='. $next . '" class="btn btn-default">Next</a></li>';
        $pagination .= '<li class="page-item"><a class="page-link" href="'.$_SERVER['PHP_SELF'].'?page='. $totalpages . '" class="btn btn-default">Last</a></li>'; // goto totalpages page
    }
    $pagination .= '</ul>'; // close ul
}

目前它只显示页码和第一个/最后一个,下一个/上一个链接,而不是当我转到相应页面时的实际数组数据。

请帮帮我,我怎样才能在下面的代码中显示这个数组数据。

index.php 文件

<div class="table-responsive">
    <table class="table table-striped table-bordered table-hover">
        <tbody>
            <tr>
                <?php
                    // <td> how should I display here in table </td>    
                ?>
            </tr>
        </tbody>
    </table>
    <div><?php echo $pagination; ?></div>
</div>

【问题讨论】:

    标签: php arrays pagination


    【解决方案1】:

    您只需将这些 $allItems 值添加到任何循环中,例如 foreach

    <div class="table-responsive">
        <table class="table table-striped table-bordered table-hover">
            <tbody>
                <?php
                    $str = "";
                    foreach ($allItems as $key => $value) {
                        $str .= "<tr><td>$value</td></tr>";
                    }
                    echo $str;
                ?>
            </tbody>
        </table>
        <div><?php echo $pagination; ?></div>
    </div>
    

    【讨论】:

    • 哦,这就是我缺少的技巧。现在很完美。非常感谢@C2486。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2020-11-03
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多