Witam,
Chce sobie zapisać w bazie wszystkie mecze pobrane z API, problem w tym, że jest ich cała masa dlatego pojedynczy feed został podzielony na strony zawierające po 30 meczy.
Wyciągam już i zapisuje do bazy dane dotyczące pierwszej 30-stki lecz mam problem jak podmienić url z tym, który przechowuje mecze z kolejnej strony aż deo końca.
Feed niestety nie ma podanej ilości stron z meczami, pętla ma się wykonywać aż parametr 'next_page' bedzie równy 'false' (info z mauala).
Tak wygląda feed:
stdClass Object
(
[success] => 1
[data] => stdClass Object
(
[fixtures] => Array
(
[0] => stdClass Object
(
[id] => 929584
[date] => 2018-07-25
[time] => 00:00:00
[home_name] => Wikki Tourists
[away_name] => Akwa United
)
...
...
...
[29] => stdClass Object
(
[id] => 932758
[date] => 2018-07-26
[time] => 00:30:00
[home_name] => D.C. United
[away_name] => New York Red Bulls
)
)
[next_page] => http://livescore-api.com/api-client/fixtures/matches.json?key=************&secret=*****************&page=2
[prev_page] =>
)
A tak pętla:
$url= 'http://livescore-api.com/api-client/fixtures/matches.json?key=***************&secret=*******************t&page=';
for($j=0; $url!='false'; $j++){
$response = file_get_contents($url);
$data = json_decode($response);
for($i=0;$i<30;$i++){
$id = $data->data->fixtures[$i]->id;
$team1 = $data->data->fixtures[$i]->home_name;
$team2 = $data->data->fixtures[$i]->away_name;
$date = $data->data->fixtures[$i]->date;
$hour = $data->data->fixtures[$i]->time;
$query = $conn->query("INSERT INTO `matches`(`id`,`id_competitions`,`team1`,`team2`,`date`,`hour`)
VALUES(".$id.",".$league_id.",'".$team1."','".$team2 ."','".$date."','".$hour."'); ");
}
$url = $data->data->next_page;
}