Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   json - отображение данных на сайте PHP (https://javascript.ru/forum/misc/73197-json-otobrazhenie-dannykh-na-sajjte-php.html)

timko_ya 28.03.2018 19:43

json - отображение данных на сайте PHP
 
Привет всем, получил данные json, но отобразить данные на своем сайте не могу, помогите пожалуйста.

Создал запрос к vk api:
$query = file_get_contents("https://api.vk.com/method/newsfeed.get?filters=post?&source_ids=123456&count=3&access_token=123456789&v=5.73");
$result = json_decode($query,true);

Получил результат:
{
"response": {
"groups": [{
"id": 139478534,
"name": "Артем Баженов (ABajenko)",
"screen_name": "abajenow",
"type": "group",
"photo_50": "https://sun1-2.us...cfa/b0gGTzz20m4.jpg",
}],
}
}

Отображаю фотографию и название группы:
<img alt="'.$result['response']['groups'][0]['name'].'" height="50" src="'.$result['response']['groups'][0]['photo_200'].'" />
<span style="margin: 10px; font-size: small;">'.$result['response']['groups'][0]['name'].'></span>

Отображается все отлично, и название и фотография, а вот если из запроса убрать значение "&source_ids=123456", то я буду получать новости не из одной группы, а из случайных в которых я состою, количество отображаемых новостей регулирует значение: "&count=5".

Создаем новый запрос, который собственно мне и нужен:
$query = file_get_contents("https://api.vk.com/method/newsfeed.get?filters=post?&count=3&access_token=123456789&v=5.73");
$result = json_decode($query,true);

То получим следующий ответ:
{
"response": {
"groups": [{
"id": 54799401,
"name": "IQ - интеллектуальный журнал",
"screen_name": "iq.journal",
"type": "page",
"photo_50": "https://pp.userap...8ed/isqViGff3HE.jpg",
}, {
"id": 65960786,
"name": "Лепрозорий",
"screen_name": "leprazo",
"type": "page",
"photo_50": "https://pp.userap...6a8/uPWKYPxW2xE.jpg",
}, {
"id": 57846937,
"name": "MDK",
"screen_name": "mudakoff",
"type": "page",
"photo_50": "https://sun9-2.us...1be/lnXl3IdfMaM.jpg",
}, {
"id": 63821373,
"name": "Признания Самара",
"screen_name": "priznania63",
"type": "page",
"photo_50": "https://pp.userap...036/TkgK_Ot0dQw.jpg",
}],
}
}

Как мы видим, что группы 3, и фото 3, а вот у меня выводится только первая фотография, которая идет со значением [0], как мне сделать так, чтобы у каждой статьи была своя фотография?

рони 28.03.2018 20:30

timko_ya,
а так?
]['groups'][0]['photo_50']

timko_ya 28.03.2018 20:46

Цитата:

Сообщение от рони (Сообщение 481701)
timko_ya,
а так?
]['groups'][0]['photo_50']

Нет, тоже ничего не выводит.

timko_ya 28.03.2018 21:19

Все, разобрался, дело было в следующем:
У меня такая строка $result['response']['items'], а надо вот так $result['response']['groups'][0]['photo_50'], вот только образовалась другая проблема, теперь фотография высвечивается над каждым постом одинаковая, а надо, чтобы для каждой группы она была разная, так как ответ от json такого вида:

"groups": [{
"id": 132614567,
"name": "Точка",
"screen_name": "publicto4ka",
"is_closed": 0,
"type": "page",
"is_admin": 0,
"is_member": 1,
"photo_50": "https://pp.userap...eab/x9f51wZIioU.jpg",
"photo_100": "https://pp.userap...eaa/H_g34WPlEXY.jpg",
"photo_200": "https://pp.userap...ea9/BhtSUZ-VwtU.jpg"
}, {
"id": 30022666,
"name": "Лепра",
"screen_name": "leprum",
"is_closed": 0,
"type": "page",
"is_admin": 0,
"is_member": 1,
"photo_50": "https://pp.userap...67b/39uugv9OcGo.jpg",
"photo_100": "https://pp.userap...67a/dnfDZPh3Zws.jpg",
"photo_200": "https://pp.userap...679/zXnYpNHXmes.jpg"
}, {
"id": 144893972,
"name": "Автомобили | ДТП GIF",
"screen_name": "dtpgif",
"is_closed": 0,
"type": "page",
"is_admin": 0,
"is_member": 1,
"photo_50": "https://pp.userap...0a6/YoGfLVFSN0M.jpg",
"photo_100": "https://pp.userap...0a5/3PEQBISCOB4.jpg",
"photo_200": "https://pp.userap...0a3/cvQew3C_lkg.jpg"
}, {
"id": 460389,
"name": "БОРЩ",
"screen_name": "borsch",
"is_closed": 0,
"type": "page",
"is_admin": 0,
"is_member": 1,
"photo_50": "https://pp.userap...eec/TXha68iVX2w.jpg",
"photo_100": "https://pp.userap...eeb/KhUogLwlON4.jpg",
"photo_200": "https://pp.userap...eea/ATVK3LAG2yg.jpg"
},

timko_ya 31.03.2018 23:11

Никто не поможет? А то я все перепробовал и for добавлял, отображает теперь разные фото и название, вот только они не правильны, например фото и название мдк, а когда по ссылке переходишь, то статья та, а вот фото и название вообще другое.

timko_ya 31.03.2018 23:13

Никто не поможет? А то я все перепробовал и for добавлял, отображает теперь разные фото и название, вот только они не правильны, например фото и название мдк, а когда по ссылке переходишь, то статья та, а вот фото и название вообще другое.

Создал запрос к vk api:
$query = file_get_contents("https://api.vk.com/method/newsfeed.get?filters=post?&source_ids=123456&count=3&access_token=123456789&v=5.73");
$result = json_decode($query,true);

Получил результат:
{
"response": {
"groups": [{
"id": 139478534,
"name": "Артем Баженов (ABajenko)",
"screen_name": "abajenow",
"type": "group",
"photo_50": "https://sun1-2.us...cfa/b0gGTzz20m4.jpg",
}],
}
}

Отображаю фотографию и название группы:
<img alt="'.$result['response']['groups'][0]['name'].'" height="50" src="'.$result['response']['groups'][0]['photo_200'].'" />
<span style="margin: 10px; font-size: small;">'.$result['response']['groups'][0]['name'].'></span>

Отображается все отлично, и название и фотография, а вот если из запроса убрать значение "&source_ids=123456", то я буду получать новости не из одной группы, а из случайных в которых я состою, количество отображаемых новостей регулирует значение: "&count=5".

Создаем новый запрос, который собственно мне и нужен:
$query = file_get_contents("https://api.vk.com/method/newsfeed.get?filters=post?&count=3&access_token=123456789&v=5.73");
$result = json_decode($query,true);

То получим следующий ответ:
{
"response": {
"groups": [{
"id": 54799401,
"name": "IQ - интеллектуальный журнал",
"screen_name": "iq.journal",
"type": "page",
"photo_50": "https://pp.userap...8ed/isqViGff3HE.jpg",
}, {
"id": 65960786,
"name": "Лепрозорий",
"screen_name": "leprazo",
"type": "page",
"photo_50": "https://pp.userap...6a8/uPWKYPxW2xE.jpg",
}, {
"id": 57846937,
"name": "MDK",
"screen_name": "mudakoff",
"type": "page",
"photo_50": "https://sun9-2.us...1be/lnXl3IdfMaM.jpg",
}, {
"id": 63821373,
"name": "Признания Самара",
"screen_name": "priznania63",
"type": "page",
"photo_50": "https://pp.userap...036/TkgK_Ot0dQw.jpg",
}],
}
}

Как мы видим, что группы 3, и фото 3, а вот у меня выводится только первая фотография, которая идет со значением [0], как мне сделать так, чтобы у каждой статьи была своя фотография?

psiklop 22.07.2018 17:36

foreach ($result['response']['groups'] as $val) {
echo '<img alt="'.$val['name'].'" height="50" src="'.$val['photo_50'].'" />';
echo '<span style="margin: 10px; font-size: small;">'.$val['name'].'></span>';
}


Часовой пояс GMT +3, время: 11:44.