-3

この非常に単純なコード行をどのようにページ付けできるか知りたいです。

    <?php

for($i=1;$i<=40;$i++){
    echo '<a href="#">'.$i.'</a> | ';
}

?>

それは出力です:

ここに画像の説明を入力してください

私はそれをこのようにしたい:

ここに画像の説明を入力してください

4

2 に答える 2

1

現在のページを「囲む」ページリンクが必要だと思います。前のリンクと次のリンクは含めていません。これらは簡単に追加でき、この例を混乱させる可能性があります。

<?php

$current_page = 10;
$total_pages = 40;
$links = 11;

$start = $current_page - floor($links / 2);
if ($start < 1) {
    $start = 1;
}

$end = $start + $links;
if ($end > $total_pages) {
    $end = $total_pages;
}

for($i = $start; $i <= $end; ++$i) {
    echo '<a href="#">' . $i . '</a> | ';
}

?>

20ページの場合、現在のページと両側に5ページが表示されます。

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
于 2012-10-04T16:18:10.467 に答える
1

このような何かがあなたの問題を解決します:

if($_GET['page']!=''){
    $page=$_GET['page'];
} else {
    $page=1;
}

print "<a href=\"?page=".($page==1 ? '1' : $page-1)."\">Prev</a> |\n";

for($i=$page;$i<=($page+10);$i++){
    print "<a href=\"?page={$i}\">{$i}</a> |\n";
}

print "<a href=\"?page=".($page+1)."\">Next</a>\n";

目的が何であれ、明らかに微調整する必要があります。

于 2012-10-04T16:18:55.117 に答える