初心者です。
現在模擬ショッピング作り行っており、商品画面でページング機能を実装したいと考えております。
現在のコードでページ数は実装できたのですが、1ページ目も2ページ目も同じ画面になってしまってます。
どのように改善すればよろしいでしょうか。
ここに質問の内容を詳しく書いてください。
発生している問題・エラーメッセージ
うまくページングができていない
ソースコード <?php try{ $dsn ='mysql:dbname=Photo;host;charaset=utf8'; $user = 'root'; $password = ''; $dbh = new PDO($dsn,$user,$password); $dbh-> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = 'SELECT code,name,image FROM photo_product WHERE 1'; $stmt =$dbh->prepare($sql); $stmt->execute(); print '<font size="5"><b>写真一覧<br /><br /></b></font>'; while(true){ $rec = $stmt->fetch(PDO::FETCH_ASSOC); if($rec == false){ break; } print '<a href = "shop_product.php? procode='.$rec['code'].'">'; print $rec['name']; print '<br />'; print '<img src ="../product2/image/'.$rec['image'].'" width="100" height="100">'; print '<br /><br/>'; print '</a>'; print '<br />'; } $photo_page = 3; $page = empty($_GET['page']) ? 1 : (int) $_GET['page']; $offset = $photo_page * ($page - 1); $sql = '"select * from photo_product limit ".$offset.",".$photo_page.'; $total = $dbh->query("select count(*) from photo_product")->fetchColumn(); $totalPages = ceil($total / $photo_page); $dbh = null; } catch(Exception $e){ print '<font size="4"><br/>ただいま障害が発生しております。 <br/>申し訳ございませんが、しばらくお待ちください。</font>'; exit(); } ?> <?php for ($i = 1; $i <= $totalPages; $i++) : ?> <a href="?page=<?php echo $i; ?>"><?php print $i; ?></a> <?php endfor; ?>
回答2件
あなたの回答
tips
プレビュー