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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

3039閲覧

ページングの処理

uverworld101nm

総合スコア172

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/08/12 14:20

編集2016/08/12 15:38

下のコードを実行するとページネーションは表示され、検索結果も出ます。
しかし、例えば「1,2,3,4,5,・・・,10」の中の・・・は表示されません。
$start =1+($page-1)*10;の$pageにもともと値が入っていないため、ページング処理ができないようです。しかし、このapiにはもともとページ数を出すコードがないです。
$page=$_GET[page];を使ったりしましたがダメでした。
$pageに値を渡すにはどうすればいいですか?
$start=(isset($_GET['page']))?"1" :$_GET['page']:を加えてもダメでした。

php

1<?php 2$key='私のキー'; 3$count='50'; 4$large_area='〇〇'; 5$start =1+($page-1)*10; 6$budget=$_POST ["budget"] 7$format='xml'; 8$url='http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key='.$key.'&count='.$count.'&large_area='.$large_area.'&start='.$start.'&keyword='.$keyword.'&budget='.$budget.'&format='.$format; 9$xml=simplexml_load_file($url); 10$total_count=$xml->results_available; 11function paging($limit, $page, $disp=5){ 12 global $budget; 13 //$dispはページ番号の表示数 14 $next = $page+1; 15 $prev = $page-1; 16 //ページ番号リンク用 17 $start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点 18 $end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点 19 $start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算 20 21 if($page != 1 ) { 22 print '<a href="?page='.$prev.'&budget='.$budget=$_POST["budget"].'">&laquo; 前へ</a>'; 23 } 24 25 //最初のページへのリンク 26 if($start >= floor($disp/2)){ 27 print '<a href="?page=1&budget='.$budget=$_POST["budget"].'">1</a>'; 28 if($start > floor($disp/2)) print "..."; //ドットの表示 29 } 30 31 32 for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ 33 34 $class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス 35 36 if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合 37 print '<a href="?page='.$i.'&budget='.$budget=$_POST["budget"].'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示 38 } 39 40 //最後のページへのリンク 41 if($limit > $end){ 42 if($limit-1 > $end ) print "..."; //ドットの表示 43 print '<a href="?page='.$limit.'&budget='.$budget=$_POST["budget"].'">'.$limit.'</a>'; 44 } 45 46 if($page < $limit){ 47 print '<a href="?page='.$next.'&budget='.$budget=$_POST["budget"].'">次へ &raquo;</a>'; 48 } 49 50 /*確認用 51 print "<p>current:".$page."<br>"; 52 print "next:".$next."<br>"; 53 print "prev:".$prev."<br>"; 54 print "limit:".$limit."<br>"; 55 print "start:".$start."<br>"; 56 print "end:".$end."</p>";*/ 57 58} 59 60$limit =ceil($total_count/$count); //最大ページ数 61$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号 62 63paging($limit, $page);

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

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

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

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

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

kei344

2016/08/12 14:43

類似する他の質問をきちんと「解決済」にされてから新たな質問をしてください。文章が少し違うだけで同じ意図の質問が半年ほど続いています。 また、回答者からの質問に質問で返すのはやめましょう。
uverworld101nm

2016/08/12 14:45

ちゃんと解決済みにしました。見てからここに書いてください。
kaz.Suenaga

2016/08/12 14:52

解決していないのに解決済みにして、同じ質問を立てるようなことをしている人が「見てからここに書いてください」などというようなものではありません。
terminator

2016/08/12 14:55

「解決済み」って問題が解決したからではないのですか?
date

2016/08/12 14:56

そんな解答と質問ばかりしていると善意で解答してくれる人がいなくなりますよ
uverworld101nm

2016/08/12 14:58

前回の質問が解決済みにしましたが、やっぱりどうしても$pageに値を渡す方法がわからなかったです。
kaz.Suenaga

2016/08/12 14:59

つまり、解決していないんですよね。
uverworld101nm

2016/08/12 15:00

どう考えても$pageが値を渡せてないからこうなっているんです。
date

2016/08/12 15:19

webサイトの解答はコピペしてやってるならこのサイトの解答を参考にしてよね
kaz.Suenaga

2016/08/12 15:41

そもそもここに書かれているコードが本当にこのままのものなのであれば、Syntax Error レベルから直さないといけない状態ですよ。 そのうえで、 $_GET['page'] って何を示すのかわかっていますか。
kaz.Suenaga

2016/08/12 15:55

そこだけで目を留めずに、その先もちゃんと読みましょうね。 質問者さんが読みたくないのか何か知りませんが、これに限らずたくさん情報が詰まった回答が、これまでもたくさんありましたよ。
guest

回答3

0

ベストアンサー

将来この質問が検索に引っかかった方へ。
回答はこちらにあります

投稿2016/08/12 14:58

kaz.Suenaga

総合スコア2037

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

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

uverworld101nm

2016/08/12 14:59

$pageに値を渡す方法がわかりません。
kaz.Suenaga

2016/08/12 15:12

そうですか。 それ「も」わからないんでしょうが、質問者さんがわからないのはそれ以前のことのようですよ。 リンク先の回答以外にも質問者さんが以前から繰り返されている質問に、それがわかるようになる方法はたくさん、繰り返し繰り返しあげられていますので、「わかっている」などと思いあがらずにそちらをまず読み込んで見てはいかがでしょうか。
uverworld101nm

2016/08/12 15:39

$start=(isset($_GET['page']))?"1" :$_GET['page']:を加えてもダメでした。
kaz.Suenaga

2016/08/12 15:42

私の回答以外のことについてこちらに書き込まれても。。。
uverworld101nm

2016/08/12 15:47

これを加えましたが、ダメでした。 これではないかとかんがえ、出しました。
kaz.Suenaga

2016/08/12 15:51

私は「これまでの回答を読み返してはいかが」と言っています。 現状の状態で、ソースコードをいじくりまわせという回答はしていません。 また、そういった逐一「次は何をすればいいですか」というような質問をするようであれば、そういう講座なり先生なりを見つけて習いに行ってください。 QAサイトは、具体的な質問に対しての回答を出し合う場であり、トレーニングサイトでも教育サイトでもありません。
guest

0

PHP関連コース

自分、10年くらい前の駆け出しの頃に受講(PHPセキュリティ編)したけど、よかったと思います。

投稿2016/08/12 17:11

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ここはプログラミングの無料講座ではないと思います。
もしそう捉えているのであれば、ちゃんと講師の所に学びに行くのがいいと思いますよ。

投稿2016/08/19 01:50

編集2016/08/31 07:10
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問