ページネーションが実装できましたが、ページ移動ができません。
$startがページ移動を行うリクエストパラメータです。
$start =$_GET["page"];にしたのは、GETでページ移動をしようと思ったからです。このコードだと、次のページに移動できません。2ページをクリックしたら$start=11(このapiでは2ページめ)に移動するにはどうすればいいですか?
ページネーションに値を渡す方法がわかりません。
お願いします。
PHP
1<?php 2$key='私のid'; 3$count='50'; 4$large_area='〇〇'; 5$start =$_GET["page"]; 6$format='xml'; 7$url='http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key='.$key.'&count='.$count.'&large_area='.$large_area.'&start='.$start.'&format='.$format; 8$xml=simplexml_load_file($url); 9function paging($limit, $page, $disp=5){ 10 $next = $page+1; 11 $prev = $page-1; 12 13 $start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1; 14 $end = ($start > 1) ? ($page+floor($disp/2)) : $disp; 15 $start = ($limit < $end)? $start-($end-$limit):$start; 16 17 if($page != 1 ) { 18 print '<a href="?page='.$prev.'">« 前へ</a>'; 19 } 20 21 if($start >= floor($disp/2)){ 22 print '<a href="?page=1">1</a>'; 23 if($start > floor($disp/2)) print "..."; 24 } 25 26 27 for($i=$start; $i <= $end ; $i++){ 28 29 $class = ($page == $i) ? ' class="current"':""; 30 31 if($i <= $limit && $i > 0 )// 32 print '<a href="?page='.$i.'"'.$class.'>'.$i.'</a>'; 33 34 } 35 36 if($limit > $end){ 37 if($limit-1 > $end ) print "..."; 38 print '<a href="?page='.$limit.'">'.$limit.'</a>'; 39 } 40 41 if($page < $limit){ 42 print '<a href="?page='.$next.'">次へ »</a>'; 43 } 44 45 46} 47 48$limit = 10; 49$page = empty($_GET["page"])? 1:$_GET["page"]; 50 51paging($limit, $page); 52 53if(!$xml->shop){ 54 echo '見つかりませんでした'; 55 } else { 56 foreach($xml->shop as $r){ 57echo '<table>' ; 58 echo '<tr>'; 59 echo '<td>'; 60 echo $r->name; 61 echo '</td>'; 62 echo '<td>'; 63 echo $r->access; 64 echo '</td>'; 65 echo '</tr>'; 66 echo '</table>'; 67} 68} 69 ?>
https://teratail.com/questions/43478 https://teratail.com/questions/43457
回答4件
あなたの回答
tips
プレビュー