Я написал код, который использует API fantasypremierleague.com для извлечения данных. Данные извлекаются за 38 игровых недель с использованием цикла for. Я печатаю данные, используя echo, чтобы убедиться, что они верны.
У меня возникла проблема с преобразованием данных в файлы CSV с помощью сценария, поскольку он находится в цикле.
После печати информации каждую игровую неделю я добавил кнопку (всего 38 кнопок), которая должна преобразовывать информацию каждой игровой недели в файл CSV.
В настоящее время все кнопки печатают информацию игровой недели 1, хотя скрипт является частью цикла.
ini_set('max_execution_time', 300);
for ($i=1; $i <39 ; $i++) {
$json=file_get_contents("https://fantasy.premierleague.com/drf/entry/1224012/event/".$i."/picks");
$data = json_decode($json, true);
$json1=file_get_contents("https://fantasy.premierleague.com/drf/elements/");
$data1 = json_decode($json1, true);
?>
<table id ="gameweek_history">
<tr>
<th>Average Gameweek Score</th>
<th>Highest Score</th>
<th>Highest Scorer ID</th>
</tr>
</br>
</br>
<td><?PHP echo $data['event']['average_entry_score']; ?></td>
<td><?PHP echo $data['event']['highest_score']; ?></td>
<td><?PHP echo $data['event']['highest_scoring_entry']; ?></td>
</table>
<table id ="gameweek_info">
<tr>
<th>Gameweek</th>
<th>Active Chip</th>
<th>ID</th>
<th>Points</th>
<th>Total Points</th>
<th>Rank</th>
<th>Overall Rank</th>
<th>Gameweek Transfers</th>
<th>Gameweek Transfer Cost</th>
<th>Points on Bench</th>
<th>Bank</th>
</tr>
</br>
</br>
<td><?PHP echo $data['entry_history']['event']; ?></td>
<td><?PHP echo $data['active_chip']; ?></td>
<td><?PHP echo $data['entry_history']['id']; ?></td>
<td><?PHP echo $data['entry_history']['points']; ?></td>
<td><?PHP echo $data['entry_history']['total_points']; ?></td>
<td><?PHP echo $data['entry_history']['rank']; ?></td>
<td><?PHP echo $data['entry_history']['overall_rank']; ?></td>
<td><?PHP echo $data['entry_history']['event_transfers']; ?></td>
<td><?PHP echo $data['entry_history']['event_transfers_cost']; ?></td>
<td><?PHP echo $data['entry_history']['points_on_bench']; ?></td>
<td><?PHP echo $data['entry_history']['bank']; ?></td>
</table>
</br>
</br>
</br>
<script>function doCSV() {
var table1 = document.getElementById("gameweek_history").innerHTML;
var data1 = table1.replace(/<thead>/g, '')
.replace(/<\/thead>/g, '')
.replace(/<tbody>/g, '')
.replace(/<\/tbody>/g, '')
.replace(/<tr>/g, '')
.replace(/<\/tr>/g, '\r\n')
.replace(/<th>/g, '')
.replace(/<\/th>/g, ',')
.replace(/<td>/g, '')
.replace(/<\/td>/g, ',')
.replace(/\t/g, '')
.replace(/\n/g, '');
var table2 = document.getElementById("gameweek_info").innerHTML;
var data2 = table2.replace(/<thead>/g, '')
.replace(/<\/thead>/g, '')
.replace(/<tbody>/g, '')
.replace(/<\/tbody>/g, '')
.replace(/<tr>/g, '')
.replace(/<\/tr>/g, '\r\n')
.replace(/<th>/g, '')
.replace(/<\/th>/g, ',')
.replace(/<td>/g, '')
.replace(/<\/td>/g, ',')
.replace(/\t/g, '')
.replace(/\n/g, '');
var data= data1.concat(data2);
var mylink = document.createElement('a');
mylink.download = "Gameweek.csv";
mylink.href = "data:application/csv," + escape(data);
mylink.click();
}</script>
<button onclick="doCSV()">Export HTML Table To CSV File</button>
<?PHP
}
?>
Я ожидаю, что каждая кнопка преобразует информацию о конкретной игровой неделе, в которой в данный момент находится цикл (например, для i i = 1 следует экспортировать команду gameweek 1, если i = 2, следует экспортировать команду gameweek2)