0

私の母国語ではない英語で間違いを犯した場合は、ご容赦ください。ポイントへ。これは私のページネーションコードです:

if (!isset($_GET["page"])) $_GET["page"] = 1;
if (sizeof($dirs) + sizeof($files) > $thumbs_pr_page)
{
    $page_navigation .= "$label_page ";
    for ($i=1; $i <= ceil((sizeof($files) + sizeof($dirs)) / $thumbs_pr_page); $i++)
    {
        if ($_GET["page"] == $i)
            $page_navigation .= "$i";
            else
                $page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i) . "'>" . $i . "</a>";
                $page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i-1) . "'> Previous </a>";
                $page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i+1) . "'> Next </a>";
        if ($i != ceil((sizeof($files) + sizeof($dirs)) / $thumbs_pr_page)) $page_navigation .= " | ";


    }   
}

問題はどこにありますか?次/前のボタンが重複しています。ただし、左側のみが前にあり、右側が次にある必要があります。私は今PHPを学んでいるだけで、私にとっては難しいです。ここで、それがどのように見えるかを見ることができます: http://tinypic.com/view.php?pic=2djl3m&s=5そして、次のようになるはずです: http://tinypic.com/view.php?pic=2eeli54&s=5

4

3 に答える 3

0

問題は for ループにあります。$_GET['page'] == $iリンクを連結しているかどうかを確認しています。$page_navigation

$page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i) . "'>" . $i . "</a>";
$page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i-1) . "'> Previous </a>";
$page_navigation .= "<a href='?dir=" . $_GET["dir"] . "&amp;page=" . ($i+1) . "'> Next </a>";

これにより、true でない各反復$_GET['page'] == $i(常に 1 回を除く) の次/前のリンクが生成されます。それらは( current に対して$_GET['page'])一度だけ必要なので、それらをループの外に移動する必要があります。

于 2013-08-14T13:23:47.043 に答える