###phpにて、ページネーションを実装したいです。
phpにてサイトの管理画面を実装しております。
その際に新着順で10件ごとのデータを表示し、データの下にページのリンクを置きたいです。
###エラー文
現状エラー文というのは出ておりませんが、ページを2にクリック(URLが http://XXXXX.php?page=2)となっている状態の際2つ目のデータ(つまり11件目〜20件目)が表示されず、常に1件目~10件目が表示されてしまいます。
###該当のソースコード
php
1$db = new PDO('mysql:dbname=test_db;host=localhost', 'root', 'password'); 2 3$page = $_GET['page']; 4 5if (isset($_GET['page'])) { 6 $page = (int)$_GET['page']; 7} else { 8 $page = 1; 9} 10 11if ($page > 1) { 12 $start = ($page * 10) - 10; 13} else { 14 $start = 0; 15} 16//上記の記述がおかしいのだと思います。 17 18$news = $db->prepare(" 19 SELECT id, title 20 FROM news 21 LIMIT 0, 10 22"); 23$news->execute(); 24$news = $news->fetchAll(PDO::FETCH_ASSOC); 25 26foreach ($news as $post) { 27 echo $post['id'], ':'; 28 echo $post['title'], '<br>'; 29} 30 31$page_num = $db->prepare(" 32 SELECT COUNT(*) id 33 FROM news 34"); 35$page_num->execute(); 36$page_num = $page_num->fetchColumn(); 37 38$pagination = $page_num / 10; 39$pagination = ceil($page_num / 10);
1~10件は表示できていることから、$pageに上手く数字が入っていないのだと思います。
$_GET['page'];を使い、クエリを取得して$pageに代入しておるのですが、クエリの値を取り出せていないのでしょうか。
###FWなど
FWは一切使っておりません。
どなたか、何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 01:44
2020/04/24 02:23
2020/04/24 08:02
2020/04/24 08:04
2020/04/24 08:10
2020/04/24 08:14
2020/04/24 13:53
2020/04/24 13:58
2020/04/24 14:04
2020/04/24 14:28
2020/04/24 14:38
2020/04/24 14:39
2020/04/24 14:47
2020/04/24 14:49
2020/04/24 14:52