2013-05-21 5 views
0

Для проекта, над которым я работаю, мне нужно запросить один XML-URL и получить список игроков, используя предопределенный идентификатор франшизы. С этими идентификаторами игроков мне нужно запросить второй URL-адрес XML и получить имена и команды игроков, а затем отобразить их в списке.Несколько запросов XML-запросов

Вот что я пытаюсь сделать:

Первый запрос

URL: http://football99.myfantasyleague.com/2007/export?TYPE=rosters&L=46184

  • нужно выбрать каждый игрок идентификатор, указанный при заданном франшизе ид.

Второй запрос

URL: http://football.myfantasyleague.com/2013/export?TYPE=players&PLAYERS=3291

  • Здесь мне нужно, чтобы иметь возможность получить имя игрока и команды, используя идентификатор игрока мы извлеченный из конкретной франшизы идентификатор, в первый запрос.

После этого я хотел бы, чтобы результаты второго запроса отображались в списке.

Это означает, что из первого запроса можно было получить что-то вроде 15 идентификаторов игроков, и с этими идентификаторами игроков мне нужно выяснить способ получения каждого имени и команды каждого игрока.

Может кто-нибудь захочет помочь мне здесь? Я могу предоставить дополнительную информацию, если вы спросите.

// Parse and display 
$data=array(); 

$url1 = "http://football99.myfantasyleague.com/2007/export?TYPE=rosters&L=46184"; 
$xml = simplexml_load_file($url1); 
foreach($xml->franchise->player as $franchise_one) { 
    $id=(string) $franchise_one->attributes()->id; 
    $data[$id]['id']=(string) $franchise_one->attributes()->id; 
    $data[$id]['playerid']=(string) $franchise_one->attributes()->id; 
} 

/* Query list to get player names and teams using the player ids from above */ 
$url2 = "http://football.myfantasyleague.com/2013/export?TYPE=players&PLAYERS=3291"; 
$xml_second = simplexml_load_file($url2); 
foreach($xml_second->players->player as $player) { 
    $id=(string) $player->attributes()->id; 
    $data[$id]['name']=(string) $player->attributes()->name; 
} 

while(list($key,$franchise)=each($data)) { 
$list .= 'Franchise id: '.$franchise['id'].'<br/>Player id: '.$franchise['playerid'].'<br/>Player name: '.$player['name'].'<br/><br/>'; 
} 

Результаты

Warning: Invalid argument supplied for foreach() in --- on line 41 

Franchise id: 8025 
Player id: 8025 
Player name: l 

Franchise id: 7394 
Player id: 7394 
Player name: l 

Franchise id: 6780 
Player id: 6780 
Player name: l 

Franchise id: 7740 
Player id: 7740 
Player name: l 

Franchise id: 5004 
Player id: 5004 
Player name: l 

Franchise id: 5656 
Player id: 5656 
Player name: l 

Franchise id: 4914 
Player id: 4914 
Player name: l 

Franchise id: 6562 
Player id: 6562 
Player name: l 

Franchise id: 7403 
Player id: 7403 
Player name: l 

Franchise id: 7393 
Player id: 7393 
Player name: l 

Franchise id: 8266 
Player id: 8266 
Player name: l 

Franchise id: 6528 
Player id: 6528 
Player name: l 

Franchise id: 7653 
Player id: 7653 
Player name: l 

Franchise id: 6952 
Player id: 6952 
Player name: l 

Franchise id: 8339 
Player id: 8339 
Player name: l 

Franchise id: 8074 
Player id: 8074 
Player name: l 

Franchise id: 0521 
Player id: 0521 
Player name: l 

ответ

0

Это сделал трюк.

$year   = '2007'; 
$league  = '46184'; 
$franchise_id = '0001'; 

// Parse and display 
$data=array(); 

// Get players for each franchise 
$url = 'http://football99.myfantasyleague.com/'.$year.'/export?TYPE=rosters&L='.$league.'&FRANCHISE='.$franchise_id.''; 
$xml = simplexml_load_file($url); 
foreach($xml->franchise->player as $franchise_two) { 
    $player_id=(string) $franchise_two->attributes()->id; 
    $data[$player_id]['playerid']=(string) $franchise_two->attributes()->id; 

    // Create a list of player ids 
    $player_list = ''.$data[$player_id]['playerid'].','; 

    // Parse players 
    $players = simplexml_load_file('http://football.myfantasyleague.com/2013/export?TYPE=players&PLAYERS='.$player_list.''); 
     foreach ($players as $player): 
     $player_name=$player['name']; 
     endforeach; 

     // Display output 
     while(list($key,$franchise)=each($data)) { 
     $list .= 'Franchise id: '.$franchise_id.'<br/>Player id: '.$franchise['playerid'].'<br/>Player name: '.$player_name.'<br/><br/>'; 
     } 
} 

echo ''.$list.''; 

Echo результат

Франшиза ID: 0001

игрока ID: 8025

Имя игрока: Андерсон, Дерек

Etc ...

Смежные вопросы