選択するドロップダウンボタンを作成しましたページあたりのアイテムつまり、$limit
は私のPHPページングに関連しています。 3,10,20,100のセレクタは正常に動作します。1ページあたりのアイテム数を表示することはできません - PHPページネーション
しかし IはAll
をクリックしたときに、ページのみ10.それをすることになっているように、リンクは、エントリ(320)の総数を表示するdefault
限界を示しています。しかし、このページには10項目のみが表示されます。
リミットセレクター:
<?php
switch($_GET["limit"]){
case "3": $limit = 3; break;
case "10": $limit = 10; break;
case "20": $limit = 20; break;
case "100": $limit = 100; break;
case "All": $limit = $rows1; break;
default: $limit = 10; break;
}
?>
ドロップダウン:
<?php
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<ul class=\"w3-pagination w3-white w3-xlarge w3-card-8 w3-hide-small\">";
//previous button
if ($page > 1)
$pagination.= "<li><a href=\"$targetpage?page=$prev&limit=$limit\" class=\"w3-hover-theme\"><i class=\"fa fa-arrow-left\"></i></a></li>";
else
$pagination.= "<li><a class=\"w3-deep-orange\"><i class=\"fa fa-arrow-left\"></i></a></li>";
//Pages
//not enough pages to bother breaking it up
if ($lastpage < 5 + ($adjacents * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<li><a class=\"w3-deep-orange\">$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter&limit=$limit\" class=\"w3-hover-theme\">$counter</a></li>";
}
}
//enough pages to hide some
elseif($lastpage > 5 + ($adjacents * 2))
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<li><a class=\"w3-deep-orange\">$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter&limit=$limit\" class=\"w3-hover-theme\">$counter</a></li>";
}
$pagination.= "<li><a href=\"#\">...</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=$lastpage&limit=$limit\" class=\"w3-hover-theme\">$lastpage</a></li>";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<li><a href=\"$targetpage?page=1&limit=$limit\" class=\"w3-hover-theme\">1</a></li>";
$pagination.= "<li><a href=\"#\">...</a></li>";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<li><a class=\"w3-deep-orange\">$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter&limit=$limit\" class=\"w3-hover-theme\">$counter</a></li>";
}
$pagination.= "<li><a href=\"#\">...</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=$lastpage&limit=$limit\" class=\"w3-hover-theme\">$lastpage</a><li>";
}
//close to end; only hide early pages
else
{
$pagination.= "<li><a href=\"$targetpage?page=1&limit=$limit\" class=\"w3-hover-theme\">1</a></li>";
$pagination.= "<li><a href=\"#\">...</a></li>";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<li><a class=\"w3-deep-orange\">$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter&limit=$limit\" class=\"w3-hover-theme\">$counter</a></li>";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "<li><a href=\"$targetpage?page=$next&limit=$limit\" class=\"w3-hover-theme\"><i class=\"fa fa-arrow-right\"></i></a></li>";
else
$pagination.= "<li><a class=\"w3-deep-orange\"><i class=\"fa fa-arrow-right\"></i></a></li>";
$pagination.= "</ul>\n";
}
?>
<?=$pagination?>
P.S.:それが必要な場合はここで
<div class="w3-dropdown-click">
<button onclick="myFunction()" class="w3-btn w3-deep-orange">Items Per Page</button>
<div id="Demo" class="w3-dropdown-content w3-card-4">
<a href="tips.php?page=<?php echo $page; ?>&limit=3">3</a>
<a href="tips.php?page=<?php echo $page; ?>&limit=10">10</a>
<a href="tips.php?page=<?php echo $page; ?>&limit=20">20</a>
<a href="tips.php?page=<?php echo $page; ?>&limit=100">100</a>
<a href="tips.php?page=<?php echo $page; ?>&limit=<?php echo $rows1; ?>">All</a>
</div>
</div>
<script>
function myFunction() {
var x = document.getElementById("Demo");
if (x.className.indexOf("w3-show") == -1) {
x.className += " w3-show";
} else {
x.className = x.className.replace(" w3-show", "");
}
}
</script>
がケースでページネーションスクリプトです私はプロではない。私は
$limit
コードを私の限られたPHP知識で作成しました。
: All なぜ<$ rows1エコーPHP。 ?> –
試してみることができます: All –
'$ rows1'はテーブルから選択されたエントリの総数です。私は別のクエリでそれを呼び出しました。申し訳ありませんが、ここに貼り付けるのを忘れました。しかし、問題は今答えられています。みんな、ありがとう。 – dngs