我试图插入来自JSON API结果的所有结果,他们限制了每页最多200个结果,尽管他们提供了下一个要访问的url来获得下一个200个结果,但这里是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");
}我如何创建它,让它自动从下一个页面获取数据,例如: offset=200,并像我在第一个结果中所做的那样将所有数据添加到数据库中。
发布于 2013-01-26 05:36:52
假设如果没有更多的结果,他们不会提供下一个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");
}
}理想情况下,将其移动到您可以在需要的地方连续调用的函数中……
https://stackoverflow.com/questions/14530518
复制相似问题