掲示板を制作しているのですが、ページングがうまく実装出来ません。
タイトルの通りなのですが、2ページ目、3ページ目にも1ページ目と同じ内容が
表示されてしまいます。
1ページに16投稿ごと表示していて、1ページ目は正しく表示されています。
ご教授いただければ幸いです。
php
1<?php 2 3//config.php 4define('DSN', 'mysql:dbname=test;host=localhost'); 5define('USER', 'test'); 6define('PASSWORD', '');
php
1<?php 2 3require_once('./config.php'); 4 5if (preg_match('//debug.php?page=[1-9]\d*/', $_SERVER['REQUEST_URI'])) { 6 $page = $_GET['page']; 7} else { 8 $page = 1; 9} 10 11$dbh = new PDO(DSN, USER, PASSWORD); 12$dbh->query('SET NAMES utf8'); 13 14$offset = NAME_PER_PAGE *($page - 1); 15$sql = "SELECT * FROM user order by code desc limit " .$offset.",".NAME_PER_PAGE; 16$stmt = $dbh->query($sql); 17$records = $stmt->fetchAll(PDO::FETCH_ASSOC); 18$total = $dbh->query("select count(*) from user")->fetchColumn(); 19$totalPages = ceil($total / NAME_PER_PAGE); 20 21?>
php
1 2//次・前ページのリンク 3<?php if($page > 1) : ?> 4<li><a href="?page=<?php echo $page-1; ?>">前へ<span aria-hidden="true">≪</span></a></li> 5<?php endif; ?> 6<?php for($i = 1; $i <= $totalPages; $i++) : ?> 7 <?php if ($page == $i) : ?> 8 <li class="active"><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a></li> 9 <?php else: ?> 10 <li><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a></li> 11 <?php endif; ?> 12<?php endfor; ?> 13<?php if($page < $totalPages) : ?> 14<li><a href="?page=<?php echo $page+1; ?>">次へ<span aria-hidden="true">≫</span></a></li> 15<?php endif; ?>
回答1件
あなたの回答
tips
プレビュー