質問編集履歴

6

追加します。

2016/08/17 08:42

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -435,3 +435,13 @@
435
435
 
436
436
 
437
437
  ![screen](18e531ca05e23da8d634cb098edfdd39.png)
438
+
439
+
440
+
441
+ また、$currentが機能していない証拠です。
442
+
443
+ このページは4ページめですが、1ページめが黒くなっています。(途中で切れていて見れません、ごめんなさい。)
444
+
445
+
446
+
447
+ ![screen2](b773df70bd8d7d60d64308aa101d8498.png)

5

スクリーンショットを提示します。

2016/08/17 08:42

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -431,3 +431,7 @@
431
431
  ?>
432
432
 
433
433
  ```
434
+
435
+
436
+
437
+ ![screen](18e531ca05e23da8d634cb098edfdd39.png)

4

質問を編集します。

2016/08/17 08:34

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -196,6 +196,10 @@
196
196
 
197
197
  ```
198
198
 
199
+
200
+
201
+ これが元のコードです。
202
+
199
203
  ```PHP
200
204
 
201
205
  <html>
@@ -258,7 +262,9 @@
258
262
 
259
263
  <?php
260
264
 
261
- if (isset($_GET['keyword']) || isset($_GET['budget'])) {
265
+ if (isset($_GET['keyword']) || isset($_GET['budget'])) {
266
+
267
+ $page = empty ( $_GET ["page"] ) ? 1 : $_GET ["page"];
262
268
 
263
269
  $key='私のキー';
264
270
 

3

元のコードを全て提示します。

2016/08/17 04:40

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -195,3 +195,233 @@
195
195
  paging($limit, $page);
196
196
 
197
197
  ```
198
+
199
+ ```PHP
200
+
201
+ <html>
202
+
203
+ <head>
204
+
205
+ <title>API_SAMPLE</title>
206
+
207
+ </head>
208
+
209
+ <body>
210
+
211
+ <form action="" method="GET">
212
+
213
+ <input type="text" name="keyword" >
214
+
215
+ <input type="submit">
216
+
217
+ </form>
218
+
219
+ </body>
220
+
221
+ </html>
222
+
223
+ <html>
224
+
225
+ <head>
226
+
227
+ <title>API_SAMPLE</title>
228
+
229
+ </head>
230
+
231
+ <body>
232
+
233
+ <form method="GET">
234
+
235
+ <select name="budget">
236
+
237
+ <option value="B001">〜2000円</option>
238
+
239
+ <option value="B002">2001円〜3000円</option>
240
+
241
+ <option value="B003">3001円〜4000円</option>
242
+
243
+ <option value="B008">4001円〜5000円</option>
244
+
245
+ <option value="B004">5001円〜7000円</option>
246
+
247
+ <option value="B005">7000円〜10000円</option>
248
+
249
+ <option value="B006">10001円〜</option>
250
+
251
+ </select> <input type="submit" name="search" value="検索" onFocus="this.select()">
252
+
253
+ </form>
254
+
255
+ </body>
256
+
257
+ </html>
258
+
259
+ <?php
260
+
261
+ if (isset($_GET['keyword']) || isset($_GET['budget'])) {
262
+
263
+ $key='私のキー';
264
+
265
+ $count='50';
266
+
267
+ $large_area='〇〇';
268
+
269
+ $start =1+($page-1)*10;
270
+
271
+ $keyword=$_GET ["keyword"];
272
+
273
+ $budget=$_GET ["budget"];
274
+
275
+ $format='xml';
276
+
277
+ $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;
278
+
279
+ $xml=simplexml_load_file($url);
280
+
281
+ var_dump($url);
282
+
283
+ $total_count=$xml->results_available;
284
+
285
+ function paging($limit, $page, $disp=5){
286
+
287
+ //$dispはページ番号の表示数
288
+
289
+ $next = $page+1;
290
+
291
+ $prev = $page-1;
292
+
293
+ //ページ番号リンク用
294
+
295
+ $start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点
296
+
297
+ $end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点
298
+
299
+ $start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算
300
+
301
+
302
+
303
+ if($page != 1 ) {
304
+
305
+ print '<a href="?page='.$prev.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">&laquo; 前へ</a>';
306
+
307
+ }
308
+
309
+
310
+
311
+ //最初のページへのリンク
312
+
313
+ if($start >= floor($disp/2)){
314
+
315
+ print '<a href="?page=1&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"].'">1</a>';
316
+
317
+ if($start > floor($disp/2)) print "..."; //ドットの表示
318
+
319
+ }
320
+
321
+
322
+
323
+
324
+
325
+ for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ
326
+
327
+
328
+
329
+ $class = ($page == $i) ? ' class="current"':"";//現在地を表すCSSクラス
330
+
331
+
332
+
333
+ if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合
334
+
335
+ print '<a href="?page='.$i.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"].'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示
336
+
337
+
338
+
339
+ }
340
+
341
+
342
+
343
+ //最後のページへのリンク
344
+
345
+ if($limit > $end){
346
+
347
+ if($limit-1 > $end ) print "..."; //ドットの表示
348
+
349
+ print '<a href="?page='.$limit.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">'.$limit.'</a>';
350
+
351
+ }
352
+
353
+
354
+
355
+ if($page < $limit){
356
+
357
+ print '<a href="?page='.$next.'&budget='.$_GET["budget"].'&keyword='.$_GET ["keyword"]. '">次へ &raquo;</a>';
358
+
359
+ }
360
+
361
+
362
+
363
+ /*確認用
364
+
365
+ print "<p>current:".$page."<br>";
366
+
367
+ print "next:".$next."<br>";
368
+
369
+ print "prev:".$prev."<br>";
370
+
371
+ print "limit:".$limit."<br>";
372
+
373
+ print "start:".$start."<br>";
374
+
375
+ print "end:".$end."</p>";*/
376
+
377
+
378
+
379
+ }
380
+
381
+ $limit =ceil($total_count/$count); //最大ページ数
382
+
383
+ $page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号
384
+
385
+
386
+
387
+ paging($limit, $page,10);
388
+
389
+
390
+
391
+ if(!$xml->shop){
392
+
393
+ echo '見つかりませんでした';
394
+
395
+ } else {
396
+
397
+ foreach($xml->shop as $r){
398
+
399
+ echo '<table>' ;
400
+
401
+ echo '<tr>';
402
+
403
+ echo '<td>';
404
+
405
+ echo $r->name;
406
+
407
+ echo '</td>';
408
+
409
+ echo '<td>';
410
+
411
+ echo $r->access;
412
+
413
+ echo '</td>';
414
+
415
+ echo '</tr>';
416
+
417
+ echo '</table>';
418
+
419
+ }
420
+
421
+ }
422
+
423
+ }
424
+
425
+ ?>
426
+
427
+ ```

2

編集しました。

2016/08/17 04:37

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,14 @@
3
3
  ※わかりづらかったので説明します。このコードだと、次へボタンをクリックしても3ページ目に行けないんです。また、1,2,3,4,5,6,7,8,9,10,...110と表示され、...の中は絶対表示されないんです。
4
4
 
5
5
  どうすれば、この問題を直せますか?
6
+
7
+ ```php
8
+
9
+ $page = empty ( $_GET ["page"] ) ? 1 : $_GET ["page"];
10
+
11
+ ```
12
+
13
+ これを入れると、ページ遷移ができなくなります。
6
14
 
7
15
  このコードでできることは、10ページまでと最後のページの遷移ができること、「次へ」ボタンで2ページ目へ行けることです。
8
16
 

1

2016/08/16 13:52

投稿

uverworld101nm
uverworld101nm

スコア172

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
1
  再質問をさせていただきます。
2
+
3
+ ※わかりづらかったので説明します。このコードだと、次へボタンをクリックしても3ページ目に行けないんです。また、1,2,3,4,5,6,7,8,9,10,...110と表示され、...の中は絶対表示されないんです。
4
+
5
+ どうすれば、この問題を直せますか?
2
6
 
3
7
  このコードでできることは、10ページまでと最後のページの遷移ができること、「次へ」ボタンで2ページ目へ行けることです。
4
8