За последние 24 часа нас посетили 18218 программистов и 1611 роботов. Сейчас ищут 1907 программистов ...

Как обработать ответ сервера?

Тема в разделе "Прочие вопросы по PHP", создана пользователем l_orrion, 26 дек 2016.

  1. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Ответ от сервера приходит в таком виде
    Код (Text):
    1. stdClass Object
    2. (
    3.     [itemsCount] => 220968
    4.     [itemsFeaturedCount] => 1000
    5.     [itemsList] => stdClass Object
    6.         (
    7.             [item] => Array
    8.                 (
    9.                     [0] => stdClass Object
    10.                         (
    11.                             [itemId] => 6643488591
    12.                             [itemTitle] => Lada chłodnicza 2m + tacki nowe gratis.
    13.                             [leftCount] => 1
    14.                             [bidsCount] => 0
    15.                             [biddersCount] => 0
    16.                             [quantityType] => pieces
    17.                             [endingTime] => 2016-12-26T00:07:04+01:00
    18.                             [timeToEnd] => 6 min
    19.                             [categoryId] => 121364
    20.                             [conditionInfo] => used
    21.                             [promotionInfo] => 1
    22.                             [additionalInfo] => 0
    23.                             [sellerInfo] => stdClass Object
    24.                                 (
    25.                                     [userId] => 10592086
    26.                                     [userLogin] => dorrotka1966
    27.                                     [userRating] => 222
    28.                                     [userIcons] => 0
    29.                                     [countryId] => 1
    30.                                 )
    31.  
    32.                             [priceInfo] => stdClass Object
    33.                                 (
    34.                                     [item] => Array
    35.                                         (
    36.                                             [0] => stdClass Object
    37.                                                 (
    38.                                                     [priceType] => buyNow
    39.                                                     [priceValue] => 3500
    40.                                                 )
    41.  
    42.                                             [1] => stdClass Object
    43.                                                 (
    44.                                                     [priceType] => withDelivery
    45.                                                     [priceValue] => 3500
    46.                                                 )
    47.  
    48.                                         )
    49.  
    50.                                 )
    51.  
    52.                             [photosInfo] => stdClass Object
    53.                                 (
    54.                                     [item] => Array
    55.                                         (
    56.                                             [0] => stdClass Object
    57.                                                 (
    58.                                                     [photoSize] => small
    59.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/64x48/66/43/48/85/6643488591
    60.                                                     [photoIsMain] => 1
    61.                                                 )
    62.  
    63.                                             [1] => stdClass Object
    64.                                                 (
    65.                                                     [photoSize] => small
    66.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/64x48/66/43/48/85/6643488591_1
    67.                                                     [photoIsMain] =>
    68.                                                 )
    69.  
    70.                                             [2] => stdClass Object
    71.                                                 (
    72.                                                     [photoSize] => medium
    73.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/128x96/66/43/48/85/6643488591
    74.                                                     [photoIsMain] => 1
    75.                                                 )
    76.  
    77.                                             [3] => stdClass Object
    78.                                                 (
    79.                                                     [photoSize] => medium
    80.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/128x96/66/43/48/85/6643488591_1
    81.                                                     [photoIsMain] =>
    82.                                                 )
    83.  
    84.                                             [4] => stdClass Object
    85.                                                 (
    86.                                                     [photoSize] => large
    87.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/400x300/66/43/48/85/6643488591
    88.                                                     [photoIsMain] => 1
    89.                                                 )
    90.  
    91.                                             [5] => stdClass Object
    92.                                                 (
    93.                                                     [photoSize] => large
    94.                                                     [photoUrl] => https://redir-img20.allegroimg.com/photos/400x300/66/43/48/85/6643488591_1
    95.                                                     [photoIsMain] =>
    96.                                                 )
    97.  
    98.                                         )
    99.  
    100.                                 )
    101.  
    102.                         )
    Подскажите как извлечь только нужные даные и оформить в виде товара на странице?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Сервер к которому подключаюсь имеет свое API.

    Allegro WebAPI основан протоколе SOAP , который использует XML в качестве формата для создания сообщений и RPC для передачи их между клиентом (приложением) и WebAPI сервера. Услуга полностью соответствует действующим стандартам SOAP. Используется WDSL.
    Такой код.
    Код (Text):
    1. <?php
    2. define('ALL_KEY' , 'xxxxxxxxx'); //
    3. $client = new SoapClient('https://webapi.allegro.pl/service.php?wsdl',array('trace' => 1, 'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
    4.  
    5.     $doGetItemsList_request = array(
    6.      'webapiKey' => ALL_KEY,
    7.      'countryId' => 1,
    8.    
    9.      'filterOptions' => array(
    10.             array( // tutaj ladujesz filtry dla przykladu aukcje uzytkownika
    11.                         'filterId' => 'category',
    12.                         'filterValueId' => array('121334')
    13.                        
    14.                         ),
    15.             ),
    16.          'sortOrder' => asc,  
    17.         'resultSize' => 1000,
    18.         'resultOffset' => 0,
    19.         'resultScope' => 0
    20.        
    21.     );
    22.    
    23.     try
    24.     {
    25.         $A = $client->doGetItemsList($doGetItemsList_request);
    26.         echo '<span style="line-height:20px;color: green;font-size: 12px;font-weight: bold"><pre> </prev></span>';
    27.         print_r($A);
    28.     }
    29.     catch(SoapFault $error)
    30.     {
    31.         echo $error->faultstring;
    32.     }
    33. ?>
    --- Добавлено ---
    Дает такой ответ от сервера
    Код (Text):
    1. stdClass Object
    2. (
    3.     [itemsCount] => 220572
    4.     [itemsFeaturedCount] => 1000
    5.     [itemsList] => stdClass Object
    6.         (
    7.             [item] => Array
    8.                 (
    9.                     [0] => stdClass Object
    10.                         (
    11.                             [itemId] => 6304058409
    12.                             [itemTitle] => PFT LOTUS HM Pozioma mieszarka przepływowa
    13.                             [leftCount] => 1
    14.                             [bidsCount] => 0
    15.                             [biddersCount] => 0
    16.                             [quantityType] => pieces
    17.                             [timeToEnd] => do wyczerpania przedmiotów
    18.                             [categoryId] => 121341
    19.                             [conditionInfo] => new
    20.                             [promotionInfo] => 7
    21.                             [additionalInfo] => 0
    22.                             [sellerInfo] => stdClass Object
    23.                                 (
    24.                                     [userId] => 23319484
    25.                                     [userLogin] => P2SYSTEM
    26.                                     [userRating] => 282
    27.                                     [userIcons] => 14
    28.                                     [countryId] => 1
    29.                                 )
    30.  
    31.                             [priceInfo] => stdClass Object
    32.                                 (
    33.                                     [item] => Array
    34.                                         (
    35.                                             [0] => stdClass Object
    36.                                                 (
    37.                                                     [priceType] => buyNow
    38.                                                     [priceValue] => 9955
    39.                                                 )
    40.  
    41.                                             [1] => stdClass Object
    42.                                                 (
    43.                                                     [priceType] => withDelivery
    44.                                                     [priceValue] => 9955
    45.                                                 )
    46.  
    47.                                         )
    48.  
    49.                                 )
    50.  
    51.                             [photosInfo] => stdClass Object
    52.                                 (
    53.                                     [item] => Array
    54.                                         (
    55.                                             [0] => stdClass Object
    56.                                                 (
    57.                                                     [photoSize] => small
    58.                                                     [photoUrl] => https://redir-img12.allegroimg.com/photos/64x48/63/04/05/84/6304058409
    59.                                                     [photoIsMain] => 1
    60.                                                 )
    61.  
    62.                                             [1] => stdClass Object
    63.                                                 (
    64.                                                     [photoSize] => medium
    65.                                                     [photoUrl] => https://redir-img12.allegroimg.com/photos/128x96/63/04/05/84/6304058409
    66.                                                     [photoIsMain] => 1
    67.                                                 )
    68.  
    69.                                             [2] => stdClass Object
    70.                                                 (
    71.                                                     [photoSize] => large
    72.                                                     [photoUrl] => https://redir-img12.allegroimg.com/photos/400x300/63/04/05/84/6304058409
    73.                                                     [photoIsMain] => 1
    74.                                                 )
    75.  
    76.                                         )
    77.  
    78.                                 )
    79.  
    80.                         )
    81.  
    82.                    
    Знания PHP минимальны, что с этим дальше делать?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    а что не получается сделать?
     
  5. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Хоть в каком направлении двигаться дальше?
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @l_orrion дело в том, что мало информации что нужно сделать и получить в итоге.


    Какие нужные данные? Что значит в виде товара на странице?
     
  7. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Нужно название, ай ди, цена, фото товара
    тут оно в таком виде
    [itemId] => 6304058409
    [itemTitle] => PFT LOTUS HM Pozioma mieszarka przepływowa
    [priceValue] => 9955
    [photoSize] => small
    [photoUrl] => https://redir-img12.allegroimg.com/photos/64x48/63/04/05/84/6304058409
    [photoIsMain] => 1

    нужно чтобы было как товар в интернет-магазине, а ненужное чтобы не выводилось
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    foreach по $A->itemsList->item можно попробовать, там уже в нём $value->itemId и т.д. будет доступно.

    есть уже HTML в который вставлять надо информацию?
     
  9. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Нет еще.
    Вот к примеру такой кусок HTML с ценой.
    <span class="price"></span>
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    обычно с этого и начинают, ты же должен знать куда вставлять данные

    получилось просто вывести цены в цикле?
     
  11. l_orrion

    l_orrion Новичок

    С нами с:
    25 дек 2016
    Сообщения:
    6
    Симпатии:
    0
    Да, что то получилось. Вывелись все ай ди в столбик
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    это отлично, теперь надо вставить в html страницу которой ещё нету, делай html, заполни данными для теста