2011-02-08 64 views
0

我不知道如何从输出中获取所有的gamertags,然后将它们插入到mysql表中。插入游戏历史记录页面中的所有游戏者标签。

这是我到目前为止,阅读评论...谢谢!

<?php 
//gameID 
$gameid = "469547013"; 
//key to access api 
$apikey = "30cRxVA9J73esG388CzmOXUVRo5VjYhSfI2qBaqcMzs="; 

$url = "http://www.bungie.net/api/reach/reachapijson.svc/game/details/".$apikey."/".$gameid.""; 
$output = file_get_contents($url); 

$obj = json_decode($output); 

//output 
print_r($output); 

//json_decoded output 
print_r($obj); 

//Having a hard time getting a single gamertag 
print $obj->GameDetails->Players->PlayerDetail[0]->gamertag; 

//I guess there needs to be an array or arrays here 
$result = ????????????; 

while ($tag = $result) { 
//value 
$tag = $array['gamertag']; 

//insert each gamertag into table 
mysql_connect('localhost', '', '') or die('Error connecting to MySQL'); 
mysql_select_db(''); 
mysql_query("INSERT IGNORE INTO gamertags(gamertag)VALUES ('".$tag."')"); 

} 

?> 
+1

而不是暴露你的API密钥给大家,怎么样粘贴一些示例数据? – drudge 2011-02-08 20:06:46

+0

输出超过了一个职位的限制,我不想从网站链接..钥匙将被改变... – AndrewFerrara 2011-02-08 20:11:50

回答

2

检查了这一点:

$output = file_get_contents('http://www.bungie.net/api/reach/reachapijson.svc/game/details/30cRxVA9J73esG388CzmOXUVRo5VjYhSfI2qBaqcMzs=/469547013'); 
$output = json_decode($output); 
foreach($output->GameDetails->Players as $player) { 
    echo $player->PlayerDetail->gamertag . '<br />'; 
} 

编辑看看http://dbug.ospinto.com/。我通过解码的json进入它,它告诉我如何得到我所需要的。

0

玩家是一个数组,所以你想是这样的:通过Players阵列

print $obj->GameDetails->Players[0]->PlayerDetail->gamertag; 

,那么你将要循环,并得到每个标签。像这样:

$ary = new Array(); 
foreach($obj->GameDetails->Players as $player) { 
    $ary[] = $player->PlayerDetail->gamertag; 
}