2014-10-08 5 views
0

Я пытаюсь показать цену каждого элемента, отображаемого с использованием хеш-названия рынка, я могу вернуть json просто отлично, если мастер установлен на один элемент (например, MP7 | Olive Plaid (Field-Tested)), но если я использую переменную (checkgrd-> marketh_hash_ name, ранее декодированную от json), как показано ниже, у меня, похоже, длинная загрузка страницы и никаких результатов.php decoding json using переменная

Любые идеи относительно этого или другого метода, в основном, все, что я делаю, - это пушка и цена.

<?php 
if(isset($_SESSION['xx'])){ 
$json_file = file_get_contents("http://steamcommunity.com/profiles/{$steam->response->players[0]->steamid}/inventory/json/730/2"); 
$jfo = json_decode($json_file); 
$rgd = $jfo->rgDescriptions; 
?> 

<?PHP 
foreach ($rgd as $write) { 
$checkrgd = $write; 
?> 

<?PHP 
$master = '' .$checkrgd->market_hash_name. ''; 
$url = file_get_contents("http://steamcommunity.com/market/priceoverview/?country=US&currency=3&appid=730&market_hash_name=".$master); 
$url_1 = json_decode($url); 

echo '<div id="item" onmouseover="nhpup.popup(\'<b>' .$checkrgd->name. '</b><br>' .($checkrgd->tags[5]->name). '<br><br>' .($checkrgd->tags[2]->name). '<br>' .$url_1->median_price. '\');" class="float_left" style="border-color: #' .($checkrgd->tags[4]->color). '; background: url(http://cdn.steamcommunity.com/economy/image/' .$checkrgd->icon_url. '/99fx66f) no-repeat center; background-size: 95%; text-align: center;"><div id="insideitem"><a href="http://steamcommunity.com/market/priceoverview/?country=US&currency=3&appid=730&market_hash_name=' .$checkrgd->market_hash_name. '">' .($checkrgd->tags[5]->name). '</a><div id="results"></div></div><br><br>'; 

if (($checkrgd->tags[3]->name) == 'StatTrak™') { 
echo '<div id="insideitem" align="left" style="vertical-align:bottom;"><img src="images/stattrak.png" width="16" height="20"></div>'; 
} 
echo '</div>'; 
?> 

<?PHP 
}} 
?> 

Я отредактировал код, чтобы включить весь раздел. Извините, я не был более подробным. Итак, market_hash_name происходит из json_file. Я хочу, чтобы мастер изменился для каждого элемента, если это возможно, возможно, у меня есть и тот же неправильный путь.

+0

Попробуйте UrlEncode Пар перед отправкой – Maks3w

+0

Пожалуйста, разместите полный код или, по крайней мере, что-то, что позволяет воспроизвести проблему. – Qualcuno

+0

вам нужен ключ API, чтобы полностью воспроизвести его, но я уверен, что если вы измените json_file на что-то, чтобы просто получить результат, вы должны быть хорошими. - и спасибо, что нашли время. – Hadlee

ответ

0

$master = '' .$checkrgd->market_hash_name. ''; $master = str_replace(' ','%20',$master);

работал для меня, но время загрузки страницы долго с моей инвентаризацией (75 предметов времени 20 сек загрузки) и я не проверить элементы, как Bages и миссии ..

+0

Большое вам спасибо за ваш ответ! Работы, я не понимал, что пробелы вызывали проблему. Я понимаю, что время загрузки длительное, я буду над этим работать! – Hadlee