Boa noite galera, eu estou desenvolvendo um aplicativo online que consiste em ser uma lista/tabela de itens onde você vê todos os itens disponíveis, digamos que são 700 peças. E com a consulta em um API externo eu posso verificar as peças que tal cliente tem e identificá-las nesta lista.
Basicamente quero fazer assim, se o cliente tem 400 peças destas 700, quero marcar no slot de cada uma se ele tem ou não (via php e html), vou validar cada uma com seu próprio ID, e estas IDs serão fornecidas por um API do desenvolvedor que tem o controle delas, o problema está em como vou retirar a ID de cada peça e por para validar em cada DIV do meu código, segue abaixo o que eu tenho construído.
<?php
header('Content-type: text/html; charset=utf-8');
//chave de acesso e outras informações que vou pegar via GET, que por ora estão estáticas
$APIkey = 'pvmg7w2tdunbq7qs2dxf6azf6rmvzknc';
$RegionName = 'us';
$LocaleName = 'pt_BR';
$RealmName = str_replace(' ', '%20', 'Goldrinn');
$PlayerName = 'astaroft';
//link do API
$json_wow_api_url = file_get_contents('https://'.$RegionName.'.api.battle.net/wow/character/'.$RealmName.'/'.$PlayerName.'?fields=pets&locale='.$LocaleName.'&apikey='.$APIkey.'');
//decodificação e o que eu tentei fazer para tentar extrair algumas informações, mas sem sucesso
$petData = json_decode($json_wow_api_url, true);
$pets = ($petData["pets"]);
$pets = (object) $pets;
//visualizando variavel
echo "<pre>";
var_dump ($pets->collected);
echo "</pre>";
?>
Abaixo um pouco do que consiste o código API do desenvolvedor depois de já convertido pelo meu PHP.
object(stdClass)#1 (3) {
["numCollected"]=>
int(537)
["numNotCollected"]=>
int(293)
["collected"]=>
array(537) {
[0]=>
array(14) {
["name"]=>
string(14) "Anderson Silva"
["spellId"]=>
int(135265)
["creatureId"]=>
int(68663)
["itemId"]=>
int(93037)
["qualityId"]=>
int(3)
["icon"]=>
string(47) "achievement_dungeon_coablackdragonflight_heroic"
["stats"]=>
array(7) {
["speciesId"]=>
int(1153)
["breedId"]=>
int(4)
["petQualityId"]=>
int(3)
["level"]=>
int(25)
["health"]=>
int(1400)
["power"]=>
int(325)
["speed"]=>
int(260)
}
["battlePetGuid"]=>
string(16) "000000000533A8E8"
["isFavorite"]=>
bool(true)
["isFirstAbilitySlotSelected"]=>
bool(true)
["isSecondAbilitySlotSelected"]=>
bool(true)
["isThirdAbilitySlotSelected"]=>
bool(true)
["creatureName"]=>
string(26) "Dragoguarda Garra da Morte"
["canBattle"]=>
bool(true)
}
[1]=>
array(14) {
["name"]=>
string(3) "Ass"
["spellId"]=>
int(0)
["creatureId"]=>
int(65324)
["itemId"]=>
int(0)
["qualityId"]=>
int(3)
["icon"]=>
string(29) "inv_pet_babycloudserpent_gold"
["stats"]=>
array(7) {
["speciesId"]=>
int(818)
["breedId"]=>
int(8)
["petQualityId"]=>
int(3)
["level"]=>
int(25)
["health"]=>
int(1400)
["power"]=>
int(305)
["speed"]=>
int(273)
}
["battlePetGuid"]=>
string(16) "000000000533A911"
["isFavorite"]=>
bool(true)
["isFirstAbilitySlotSelected"]=>
bool(false)
["isSecondAbilitySlotSelected"]=>
bool(true)
["isThirdAbilitySlotSelected"]=>
bool(true)
["creatureName"]=>
string(19) "Serpentinha Dourada"
["canBattle"]=>
bool(true)
}
[2]=>
array(14) {
["name"]=>
string(6) "Babalu"
["spellId"]=>
int(134895)
["creatureId"]=>
int(68468)
["itemId"]=>
int(92800)
["qualityId"]=>
int(3)
["icon"]=>
string(31) "inv_pet_pandarenelemental_earth"
["stats"]=>
array(7) {
["speciesId"]=>
int(1126)
["breedId"]=>
int(7)
["petQualityId"]=>
int(3)
["level"]=>
int(25)
["health"]=>
int(1546)
["power"]=>
int(289)
["speed"]=>
int(260)
}
["battlePetGuid"]=>
string(16) "000000000533A92A"
["isFavorite"]=>
bool(true)
["isFirstAbilitySlotSelected"]=>
bool(false)
["isSecondAbilitySlotSelected"]=>
bool(false)
["isThirdAbilitySlotSelected"]=>
bool(false)
["creatureName"]=>
string(27) "Espírito da Terra Pandaren"
["canBattle"]=>
bool(true)
}
O que eu quero fazer é usar a classe "creatureId" para fazer a validação, sendo que se o ID existir nesse JSon, o bloco toma a aparência deste item e faz outra função que já está determinada, caso contrário, o bloco da DIV se torna branco e executa outra função que também já está concluído.
O meu problema está em validar estes "creaturesId" de TODO o código, visto que cada cliente tem o seu próprio, como por exemplo:
Criatura 68468 = ID existe
Criatura 66785 = ID não existe
Criatura 65324 = ID existe
Basicamente preciso verificar se existe ou não, mas tenho conhecimento limitado em PHP e não sei como poderia executar esta função.
Agradeço a atenção de todos que puderam ler até aqui e ainda mais aos que puderem me dar uma força nesta batalha! xD.