質問編集履歴
6
追加します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -216,4 +216,9 @@
|
|
216
216
|
?>
|
217
217
|
```
|
218
218
|
|
219
|
-

|
219
|
+

|
220
|
+
|
221
|
+
また、$currentが機能していない証拠です。
|
222
|
+
このページは4ページめですが、1ページめが黒くなっています。(途中で切れていて見れません、ごめんなさい。)
|
223
|
+
|
224
|
+

|
5
スクリーンショットを提示します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -214,4 +214,6 @@
|
|
214
214
|
}
|
215
215
|
}
|
216
216
|
?>
|
217
|
-
```
|
217
|
+
```
|
218
|
+
|
219
|
+

|
4
質問を編集します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -97,6 +97,8 @@
|
|
97
97
|
|
98
98
|
paging($limit, $page);
|
99
99
|
```
|
100
|
+
|
101
|
+
これが元のコードです。
|
100
102
|
```PHP
|
101
103
|
<html>
|
102
104
|
<head>
|
@@ -128,7 +130,8 @@
|
|
128
130
|
</body>
|
129
131
|
</html>
|
130
132
|
<?php
|
131
|
-
if (isset($_GET['keyword']) || isset($_GET['budget'])) {
|
133
|
+
if (isset($_GET['keyword']) || isset($_GET['budget'])) {
|
134
|
+
$page = empty ( $_GET ["page"] ) ? 1 : $_GET ["page"];
|
132
135
|
$key='私のキー';
|
133
136
|
$count='50';
|
134
137
|
$large_area='〇〇';
|
3
元のコードを全て提示します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -96,4 +96,119 @@
|
|
96
96
|
$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号
|
97
97
|
|
98
98
|
paging($limit, $page);
|
99
|
+
```
|
100
|
+
```PHP
|
101
|
+
<html>
|
102
|
+
<head>
|
103
|
+
<title>API_SAMPLE</title>
|
104
|
+
</head>
|
105
|
+
<body>
|
106
|
+
<form action="" method="GET">
|
107
|
+
<input type="text" name="keyword" >
|
108
|
+
<input type="submit">
|
109
|
+
</form>
|
110
|
+
</body>
|
111
|
+
</html>
|
112
|
+
<html>
|
113
|
+
<head>
|
114
|
+
<title>API_SAMPLE</title>
|
115
|
+
</head>
|
116
|
+
<body>
|
117
|
+
<form method="GET">
|
118
|
+
<select name="budget">
|
119
|
+
<option value="B001">〜2000円</option>
|
120
|
+
<option value="B002">2001円〜3000円</option>
|
121
|
+
<option value="B003">3001円〜4000円</option>
|
122
|
+
<option value="B008">4001円〜5000円</option>
|
123
|
+
<option value="B004">5001円〜7000円</option>
|
124
|
+
<option value="B005">7000円〜10000円</option>
|
125
|
+
<option value="B006">10001円〜</option>
|
126
|
+
</select> <input type="submit" name="search" value="検索" onFocus="this.select()">
|
127
|
+
</form>
|
128
|
+
</body>
|
129
|
+
</html>
|
130
|
+
<?php
|
131
|
+
if (isset($_GET['keyword']) || isset($_GET['budget'])) {
|
132
|
+
$key='私のキー';
|
133
|
+
$count='50';
|
134
|
+
$large_area='〇〇';
|
135
|
+
$start =1+($page-1)*10;
|
136
|
+
$keyword=$_GET ["keyword"];
|
137
|
+
$budget=$_GET ["budget"];
|
138
|
+
$format='xml';
|
139
|
+
$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;
|
140
|
+
$xml=simplexml_load_file($url);
|
141
|
+
var_dump($url);
|
142
|
+
$total_count=$xml->results_available;
|
143
|
+
function paging($limit, $page, $disp=5){
|
144
|
+
//$dispはページ番号の表示数
|
145
|
+
$next = $page+1;
|
146
|
+
$prev = $page-1;
|
147
|
+
//ページ番号リンク用
|
148
|
+
$start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点
|
149
|
+
$end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点
|
150
|
+
$start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算
|
151
|
+
|
152
|
+
if($page != 1 ) {
|
153
|
+
print '<a href="?page='.$prev.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">« 前へ</a>';
|
154
|
+
}
|
155
|
+
|
156
|
+
//最初のページへのリンク
|
157
|
+
if($start >= floor($disp/2)){
|
158
|
+
print '<a href="?page=1&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"].'">1</a>';
|
159
|
+
if($start > floor($disp/2)) print "..."; //ドットの表示
|
160
|
+
}
|
161
|
+
|
162
|
+
|
163
|
+
for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ
|
164
|
+
|
165
|
+
$class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス
|
166
|
+
|
167
|
+
if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合
|
168
|
+
print '<a href="?page='.$i.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"].'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示
|
169
|
+
|
170
|
+
}
|
171
|
+
|
172
|
+
//最後のページへのリンク
|
173
|
+
if($limit > $end){
|
174
|
+
if($limit-1 > $end ) print "..."; //ドットの表示
|
175
|
+
print '<a href="?page='.$limit.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">'.$limit.'</a>';
|
176
|
+
}
|
177
|
+
|
178
|
+
if($page < $limit){
|
179
|
+
print '<a href="?page='.$next.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">次へ »</a>';
|
180
|
+
}
|
181
|
+
|
182
|
+
/*確認用
|
183
|
+
print "<p>current:".$page."<br>";
|
184
|
+
print "next:".$next."<br>";
|
185
|
+
print "prev:".$prev."<br>";
|
186
|
+
print "limit:".$limit."<br>";
|
187
|
+
print "start:".$start."<br>";
|
188
|
+
print "end:".$end."</p>";*/
|
189
|
+
|
190
|
+
}
|
191
|
+
$limit =ceil($total_count/$count); //最大ページ数
|
192
|
+
$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号
|
193
|
+
|
194
|
+
paging($limit, $page,10);
|
195
|
+
|
196
|
+
if(!$xml->shop){
|
197
|
+
echo '見つかりませんでした';
|
198
|
+
} else {
|
199
|
+
foreach($xml->shop as $r){
|
200
|
+
echo '<table>' ;
|
201
|
+
echo '<tr>';
|
202
|
+
echo '<td>';
|
203
|
+
echo $r->name;
|
204
|
+
echo '</td>';
|
205
|
+
echo '<td>';
|
206
|
+
echo $r->access;
|
207
|
+
echo '</td>';
|
208
|
+
echo '</tr>';
|
209
|
+
echo '</table>';
|
210
|
+
}
|
211
|
+
}
|
212
|
+
}
|
213
|
+
?>
|
99
214
|
```
|
2
編集しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
再質問をさせていただきます。
|
2
2
|
※わかりづらかったので説明します。このコードだと、次へボタンをクリックしても3ページ目に行けないんです。また、1,2,3,4,5,6,7,8,9,10,...110と表示され、...の中は絶対表示されないんです。
|
3
3
|
どうすれば、この問題を直せますか?
|
4
|
+
```php
|
5
|
+
$page = empty ( $_GET ["page"] ) ? 1 : $_GET ["page"];
|
6
|
+
```
|
7
|
+
これを入れると、ページ遷移ができなくなります。
|
4
8
|
このコードでできることは、10ページまでと最後のページの遷移ができること、「次へ」ボタンで2ページ目へ行けることです。
|
5
9
|
つまり、このコードでもページ遷移が可能だということです。
|
6
10
|
しかし、反対にできないことは10ページ以降のページが表示されないこと、「次へ」ボタンは2ページまでしか表示されないことです。
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
再質問をさせていただきます。
|
2
|
+
※わかりづらかったので説明します。このコードだと、次へボタンをクリックしても3ページ目に行けないんです。また、1,2,3,4,5,6,7,8,9,10,...110と表示され、...の中は絶対表示されないんです。
|
3
|
+
どうすれば、この問題を直せますか?
|
2
4
|
このコードでできることは、10ページまでと最後のページの遷移ができること、「次へ」ボタンで2ページ目へ行けることです。
|
3
5
|
つまり、このコードでもページ遷移が可能だということです。
|
4
6
|
しかし、反対にできないことは10ページ以降のページが表示されないこと、「次へ」ボタンは2ページまでしか表示されないことです。
|