<?php $max_posts_page = 3; $count_post = 30; $page_get = $_GET['p'] ?? '1'; $page_end = $page_get * $max_posts_page; $page_first = $page_end - $max_posts_page; $max_pages = ceil($count_post / $max_posts_page); $max_pages = ( $max_pages == 0 ) ? 1 : $max_pages; $this_page = basename(__FILE__); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>ページネーション</title> <link rel="icon" href="favicon.svg" type="image/svg+xml"> <style> .pagination { margin-top: 2em; text-align: center; font-size: 12px; } .pagination a, .pagination span { display: inline-block; margin: 4px 2px; text-decoration: none; border-radius: 4px; width: 30px; height: 30px; padding: 7px 0; box-sizing: border-box; color: #000; border: 2px solid #000; font-weight: bold; line-height: 1; } .pagination a:hover { color: #000; opacity: 0.7; } .pagination .page-current { border: none; background: transparent; } .prev-x, .next-x { cursor: no-drop; } </style> </head> <body> <div class="pagination"> <div class="nav-links"> <?php if ($page_get == "1"): ?> <span id="prev-x" class="prev-x page-numbers">‹</span> <?php else: ?> <a id="prev" class="prev page-numbers" href="./<?php echo $this_page ; ?>?p=<?php echo $page_get - 1; ?>">‹</a> <?php endif; ?> <?php if ($page_get != "1"): ?> <a id="first" class="first page-numbers" href="./<?php echo $this_page ; ?>?p=1">1</a> <?php endif; ?> <?php if ($page_get >= "5"): ?> <span id="dots_left" class="page-numbers dots">…</span> <?php endif; ?> <?php for ($i = max(2, $page_get - 2); $i < $page_get; $i++): ?> <a id="page-numbers<?php echo $i; ?>" class="page-numbers" href="./<?php echo $this_page ; ?>?p=<?php echo $i; ?>"><?php echo $i; ?></a> <?php endfor; ?> <span aria-current="page" class="page-numbers page-current"><?php echo $page_get; ?></span> <?php for ($i = $page_get + 1; $i <= min($page_get + 2, $max_pages - 1); $i++): ?> <a id="page-numbers<?php echo $i; ?>" class="page-numbers" href="./<?php echo $this_page ; ?>?p=<?php echo $i; ?>"><?php echo $i; ?></a> <?php endfor; ?> <?php if ($max_pages - $page_get >= "4"): ?> <span id="dots_right" class="page-numbers dots">…</span> <?php endif; ?> <?php if ($page_get != $max_pages): ?> <a id="last" class="last page-numbers" href="./<?php echo $this_page ; ?>?p=<?php echo $max_pages; ?>"><?php echo $max_pages; ?></a> <?php endif; ?> <?php if ($page_get == $max_pages): ?> <span id="next-x" class="next-x page-numbers">›</span> <?php else: ?> <a id="next" class="next page-numbers" href="./<?php echo $this_page ; ?>?p=<?php echo $page_get + 1; ?>">›</a> <?php endif; ?> </div> </div> </body> </html>