
楽天のサンプルAPIをいじって使えるようにしたのですが
30件しか取得できませんでした。
仕様上では1ページ30件*100ページ取得できるそうなのですが
どうやったらいいでしょうか。
結果は横4列のテーブルで出力したいです。
取得件数に関するパラメーターはあるようです。
私がサンプルを改変したものを載せます。
IDは削除してあります。
<!DOCTYPE html> <html lang='ja'> <head> <link rel="stylesheet" href=style.css" type="text/css"> <title>楽天</title> <meta charset='utf-8'> </head> <body> <?php $rakuten_relust = getRakutenResult('うどん', 0); // キーワードと最低価格を指定 foreach ($rakuten_relust as $item) : ?> <center> <table border="0" align="center"> <tr align="center"> <td align="center"> <div class="center"><a href="<?php echo $item['url']; ?>"><img src="<?php echo $item['img']; ?>"></div><br /> <div class="center"><?php echo $item['name']; ?></div><br /> <div class="center"><?php echo $item['price']; ?>円</div><br /> <div class="center"><?php echo $item['shop']; ?></div><br /> </td> </tr> </table> </center> <?php endforeach; ?> </body> </html> <?php function getRakutenResult($keyword, $min_price) { // ベースとなるリクエストURL $baseurl = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222'; // リクエストのパラメータ作成 $params = array(); $params['applicationId'] = ''; // アプリID $params['affiliateId'] = ''; // 自分のアフィリエイトID $params['keyword'] = urlencode_rfc3986($keyword); // 任意のキーワード。※文字コードは UTF-8 $params['sort'] = urlencode_rfc3986('+itemPrice'); // ソートの方法。※文字コードは UTF-8 /* $params['minPrice'] = $min_price; // 最低価格 */ $params['hits'] = '30'; // hits $params['page'] = '100'; // page $canonical_string=''; foreach($params as $k => $v) { $canonical_string .= '&' . $k . '=' . $v; } // 先頭の'&'を除去 $canonical_string = substr($canonical_string, 1); // リクエストURL を作成 $url = $baseurl . '?' . $canonical_string; // XMLをオブジェクトに代入 $rakuten_json=json_decode(@file_get_contents($url, true)); $items = array(); foreach($rakuten_json->Items as $item) { $items[] = array( 'name' => (string)$item->Item->itemName, 'url' => (string)$item->Item->itemUrl, 'img' => isset($item->Item->mediumImageUrls[0]->imageUrl) ? (string)$item->Item->mediumImageUrls[0]->imageUrl : '', 'price' => (string)$item->Item->itemPrice, 'shop' => (string)$item->Item->shopName, ); } return $items; } // RFC3986 形式で URL エンコードする関数 function urlencode_rfc3986($str) { return str_replace('%7E', '~', rawurlencode($str)); }?>

1ページ(リクエスト)30件が上限。ページの値を変えて繰り返しリクエストが可能てことなのでは?

回答1件
あなたの回答
tips
プレビュー