0

JSON API の結果からすべての結果を挿入しようとしています。ページごとに最大 200 の結果に制限されていますが、次の 200 の結果を取得するためにアクセスする次の URL を提供しています。 API が提供します。

{
  "count": 200,
  "total": 31108,
  "nextUrl": "https://**/api/v1/***/orders?secure_auth_key=****&offset=200",
  "orders": [
    {
      "number": 40026,
      "paymentStatus": "ACCEPTED",
      etc....
    }
   ],
 }

これらの200の結果を取得してmySQLに保存する現在のコードは次のとおりです

$url = "https://****/api/v1/***/orders?secure_auth_key=*****";
$json = file_get_contents($url, 0, null, null);
$result = json_decode($json, true)
foreach($result['orders'] as $order) {
   mysql_query("INSERT INTO blah blah");
}

次のページからデータを自動的に取得するように作成するにはどうすればよいですか。

4

1 に答える 1

0

これ以上結果がない場合、次の 200 の URL を提供しないという前提で、それをチェックとして使用してみませんか。

例えば。保存した後、最後の結果に nexturl があるかどうかを確認する場合は簡単ですか?

if(isset($result['nextUrl'])){
$url = $result['nextUrl'];
$json = file_get_contents($url, 0, null, null);
$result = json_decode($json, true)
foreach($result['orders'] as $order) {
   mysql_query("INSERT INTO blah blah");


}
}

理想的には、必要に応じて継続的に呼び出すことができる関数にそれを移動します...

于 2013-01-25T21:36:51.753 に答える