質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2488閲覧

paginationの実装

uverworld101nm

総合スコア172

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2016/08/05 14:22

下記のコードでpaginationを実装をしましたが、数字のボタンをクリックしても次のページへ移動できません。
どうすれば次のページへ移動できますか?

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.'">&laquo; 前へ</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.'">次へ &raquo;</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 ?> 70

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asahina_dev

2016/08/06 01:42

前回の課題が解決してから次のことをしてください。
guest

回答1

0

ベストアンサー

投稿2016/08/05 15:35

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Panzer_vor

2016/08/05 15:57

リンク先見て不覚にもコーラ吹いてしまいましたw
退会済みユーザー

退会済みユーザー

2016/08/05 16:32

@KotoriMaturi さん そんなつもりじゃなかったんですよ。ごめんなさい。ごめんなさい笑 DIパターンでAPIの切り替えも面白いかなぁ…
Panzer_vor

2016/08/05 17:09

> Kosuke_Shibuyaさん おかげさまで、睡眠不足で終わってた頭が少しは覚醒できました(笑 DIパターンとかちょっと高度過ぎて今の僕の理解では追いつけないです^^; どんな感じになるか見てみたい気はしますが(
Panzer_vor

2016/08/06 17:50

> Kosuke_Shibuyaさん XML版も拝見させていただきましたが、 「なんか、よくわからん理由で」件でどうしても笑いを禁じえないです・・・w
退会済みユーザー

退会済みユーザー

2016/08/06 18:14

@KotoriMaturi さん どもです! JSON -> XML への変更に10分とかからず… 基本が分かっていれば、なんてことないのにねぇ…
Panzer_vor

2016/08/06 18:22

> Kosuke_Shibuyaさん 結局はそこに帰結しますよね。 「急がば回れ」、「ローマは一日にしてならず」ってことなんですが、 そういえば質問者さんは故事にも理解がないんでしたっけね(棒
退会済みユーザー

退会済みユーザー

2016/08/06 18:26 編集

「XML方式での取得」「ページネーションの実装」共に出来ているので、要件はバッチリ満たされているはずですが、それでもきっと追加質問が来るんでしょうね。 読みにくい変なコード書いてないんだけどなぁ…
Panzer_vor

2016/08/06 19:04

> Kosuke_Shibuyaさん 僕はたまにPHP触るんですが、 比較にならないレベルで見やすいですよ^^ こっちが触ってるのは勢いで作られすぎててすごく・・・
退会済みユーザー

退会済みユーザー

2016/08/06 20:17

ソースコードを晒す以上、中途半端なコードは出したくないですもんね… 一応気を使います。 プロダクトではグローバル空間に関数を定義するようなことはしませんけどね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問