Нужна помощь с JSON и его взаимодействием с БД. Имеется к примеру такой JSON.
{
"response": {
"trade_offers_received": [
{
"tradeofferid": "1537239550",
"accountid_other": 169029426
},
{
"tradeofferid": "1537239438",
"accountid_other": 169029426
},
{
"tradeofferid": "1537239334",
"accountid_other": 169029426
},
{
"tradeofferid": "1537236218",
"accountid_other": 169029426
}
]
}
}
Задача в том, что нужно парсить его в реальном времени, добавляя в базу по одному элементу с каждым обновлением страницы, пока не добавятся все элементы ("tradeofferid"), это проблема решена, но с трудом, а главная проблема сейчас в том, что не получается удалять те элементы из БД, которых уже нет в JSON, помогите правильно составить нужный вариант, мой код ниже:
$tradesinfo = json_decode(file_get_contents('http://api.steampowered.com/IEconService/GetTradeOffers/v1/?key='.$userinfo['keyuser'].'&get_received_offers=1&active_only=1'),true);
$tradescount = count($tradesinfo['response']['trade_offers_received']);
$stmtone = $pdo->prepare('SELECT * FROM trades');
$stmtone->execute();
$tradesinfo = $tradesinfo['response']['trade_offers_received'];
//Тут все очень костыльно, работает не так, как хотелось бы
$tradeinfo = $tradesinfo[$stmtone->rowCount()];
$steamids = reloads('[U:1:'.$tradeinfo['accountid_other'].']');
$userofferinfo = json_decode(file_get_contents('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='.$usersinfo['keyuser'].'&steamids='.$steamids),true);
$userinfo = $userofferinfo['response']['players'][0];
// Попытка удалять из БД, а удаляет все строки
while($rowone = $stmtone->fetch(PDO::FETCH_ASSOC)){
$arrs = in_array($rowone['tradeid'],$tradesinfo);
if($arrs != $rowone['tradeid']){
$stmt = $pdo->prepare('DELETE FROM trades WHERE tradeid = :tradeid');
$stmt->execute(Array('tradeid'=>$rowone['tradeid']));
}
}
$stmt = $pdo->prepare('SELECT * FROM trades WHERE tradeid = :tradeid');
$stmt->execute(Array('tradeid' => $tradeinfo['tradeofferid']));
if($stmt->rowCount() == 0){
$stmt = $pdo->prepare('INSERT INTO trades (tradeid,mysteamid,steamid,user,avatar,country,message) VALUES (:tradeid,:mysteamid,:steamid,:user,:avatar,:country,:message)');
$stmt->execute(Array('tradeid' => $tradeinfo['tradeofferid'],'mysteamid' => $steamid,'steamid' => $steamids,'user' => $userinfo['personaname'],'avatar' => $userinfo['avatarmedium'],'country' => $userinfo['loccountrycode'],'message' => $tradeinfo['message']));
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На данный вопрос уже ответили:
Использую django с python3При pip install mysql-python выдает ошибку: Command "python setup