0
I have a site in Wordpress and in it I am consuming a Web Service, I created a function to filter the championships based on some information, If all are true, it returns the name of the respective championship, the teams, their games and results, until then everything works perfectly, but I’m having trouble displaying all the values of the championship, he is calling only one of the games, but there are more than one "Championship":"18" on the return of results, but on the screen is only printing one of them, could someone help me?
<?php /* Template Name: Teste Api */ get_header(); ?>
<?php
$api_campeonatos = 'https://sportsmanager.com.br/api/[email protected]&token=SXLSO8342HSDE78623GVS7234GNMSKL&ano=2018&status=A';
$campeonatos = wp_remote_get( $api_campeonatos );
$campeonatos_data = json_decode( wp_remote_retrieve_body( $campeonatos ), true );
$retorno_campeonatos = array(); // <- mudar para array
if($campeonatos_data){
foreach($campeonatos_data as $row){
if(!is_array($row)){
//$retorno = $retorno.'<td>'.$row.'</td>';
}else{
if($row['sexo'] == 'M' && $row['modalidade'] == 2 && $row['categoria'] == 4){
$retorno_campeonatos[] = array('valor' => '<td>'.$row['nome'].'</td>', 'id' => $row['codigo']); // <--- adiciona
}
}
}
}
?>
<script>
$(function(){
var html = '';
<?php foreach($retorno_campeonatos as $valor){ ?>
html += '<a class="list-group-item list-group-item-action" data-toggle="list" href="#bloco-<?php echo $valor['id'];?>" role="tab"><?php echo $valor['valor'];?></a>';
<?php } ?>
$('#myList').html(html);
});
</script>
<div class="container">
<div class="row">
<div id="contents">
<div class="list-group" id="myList" role="tablist">
</div>
<div id="tabList" class="tab-content">
</div>
</div>
</div>
</div>
<?php
// pega os valores da primeira URL
$api_campeonatos = 'https://sportsmanager.com.br/api/[email protected]&token=SXLSO8342HSDE78623GVS7234GNMSKL&ano=2018&status=A';
$campeonato = wp_remote_get( $api_campeonatos );
$campeonato = json_decode( wp_remote_retrieve_body( $campeonato ), true );
// pega os valores da segunda URL
$api_resultados = 'https://sportsmanager.com.br/api/[email protected]&token=SXLSO8342HSDE78623GVS7234GNMSKL&ano=2018&status=A';
$resultado = wp_remote_get( $api_resultados );
$resultado = json_decode( wp_remote_retrieve_body( $resultado ), true );
$retorno_resultados = array();
foreach($campeonato as $camp){
foreach($resultado as $result){
if(isset($camp['codigo']) && isset($result['campeonato']) && $camp['codigo'] == $result['campeonato']){
$retorno_resultados[] = array(
'mandante' => '<td>'.$result['mandante'].'</td>',
'visitante' => '<td>'.$result['visitante'].'</td>',
'id' => $camp['codigo'],
'data' => '<td>'.$camp['data'],
'placar1n' => '<td>'.$result['placar1n'].'</td>',
'placar2n' => '<td>'.$result['placar2n'].'</td>',
'placar1p' => '<td>'.$result['placar1p'].'</td>',
'placar2p' => '<td>'.$result['placar2p'].'</td>',
'placar1s' => '<td>'.$result['placar1s'].'</td>',
'placar2s' => '<td>'.$result['placar2s'].'</td>'
); // <--- adiciona
break;
}
}
}
?>
<script>
$(function(){
var html2 = '';
<?php foreach($retorno_resultados as $val){ ?>
html2 += '<div class="tab-pane" id="bloco-<?php echo $val['id'];?>" role="tabpanel"><td><?php echo $val['mandante'];?>x<?php echo $val['visitante'];?></td></div>';
<?php } ?>
$('#tabList').html(html2);
});
</script>
<?php get_footer(); ?>
Return Championships:
{
"codigo": "17",
"nome": "CIRCUITO ESCOLAR - SÉRIE OURO",
"modalidade": "2",
"categoria": "6",
"sexo": "M",
"data": "2018-08-13 00:00:00",
"atualizacao": null,
"status": "N"
},
{
"codigo": "19",
"nome": "CIRCUITO ESCOLAR - SÉRIE OURO",
"modalidade": "2",
"categoria": "4",
"sexo": "M",
"data": "2018-08-13 00:00:00",
"atualizacao": null,
"status": "N"
},
{
"codigo": "18",
"nome": "CIRCUITO ESCOLAR - SÉRIE PRATA",
"modalidade": "2",
"categoria": "4",
"sexo": "M",
"data": "2018-08-13 00:00:00",
"atualizacao": null,
"status": "N"
},
Retorno Results
{
"codigo": "30",
"campeonato": "18",
"data": "2018-08-31 00:00:00",
"horario": "19h",
"local": "4",
"realizada": "N",
"jogo": "0",
"fase": "2",
"rodada": "0",
"mandante": "7",
"visitante": "5",
"placar1n": null,
"placar2n": null,
"placar1p": null,
"placar2p": null,
"placar1s": null,
"placar2s": null,
"grupo1": "",
"grupo2": "",
"quadra": "4",
"obs": null
},
{
"codigo": "31",
"campeonato": "18",
"data": "2018-09-11 00:00:00",
"horario": "19H",
"local": "2",
"realizada": "N",
"jogo": "0",
"fase": "2",
"rodada": "0",
"mandante": "5",
"visitante": "3",
"placar1n": null,
"placar2n": null,
"placar1p": null,
"placar2p": null,
"placar1s": null,
"placar2s": null,
"grupo1": "",
"grupo2": "",
"quadra": "2",
"obs": null
},
{
"codigo": "32",
"campeonato": "18",
"data": "2018-09-25 00:00:00",
"horario": "19H",
"local": "4",
"realizada": "N",
"jogo": "0",
"fase": "2",
"rodada": "0",
"mandante": "7",
"visitante": "3",
"placar1n": null,
"placar2n": null,
"placar1p": null,
"placar2p": null,
"placar1s": null,
"placar2s": null,
"grupo1": "",
"grupo2": "",
"quadra": "4",
"obs": null
},
Sorry, it’s the first time I consume a Web Service, I’m half lost, hahah, I need to run an array_push? could explain me better?
– Miguel Campos
Take a look here: https://www.w3schools.com/php/func_array_push.asp
– Allan