Amazon MWS GetReport отображается в Bootstrap PHP - PullRequest
0 голосов
/ 24 апреля 2018

Я создал страницу, используя GetReport с идентификатором расчета.

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

Вот мой код:

function invokeGetReport(MarketplaceWebService_Interface $service, $request)  {
  try {
      $response = $service->getReport($request);
        echo ("<table class='table table-bordered table-striped table-hover table-condensed table-responsive'>\n");
        echo ("<thead>");
        echo ("<tr> ");
        echo ("<th >Settlement ID</th> ");
        echo ("<td>");
        echo ("Settlement ID Report display here");
        echo ("</td></tr>");
        echo ("<tr> ");
        echo ("<th>GetReportResponse\n</th> ");
        echo ("<td>");
        if ($response->isSetGetReportResult()) {
          $getReportResult = $response->getGetReportResult(); 
          echo ("            GetReport");
        echo ("</td></tr>");
      }
        //Report Content
        echo ("<tr> ");
        echo ("<th>Settlement ID</th> ");
        echo ("<td>");
        echo (stream_get_contents($request->getReport()) . "\n");
        echo ("</td></tr>");    
      } catch (MarketplaceWebService_Exception $ex) {
        echo("Caught Exception: " . $ex->getMessage() . "\n");
        echo("Response Status Code: " . $ex->getStatusCode() . "\n");
        echo("Error Code: " . $ex->getErrorCode() . "\n");
        echo("Error Type: " . $ex->getErrorType() . "\n");
        echo("Request ID: " . $ex->getRequestId() . "\n");
        echo("XML: " . $ex->getXML() . "\n");
        echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
        echo ("</td></tr>"); 
        echo ("</table>\n");
  }

}

Как вы можете видеть:

stream_get_contents($request->getReport())

- это то место, где я получаю отчет о расчете, однако я хочу getReport() чтобы разбить на подробности в аккуратной таблице, на данный момент это выглядит следующим образом

enter image description here

Я надеялся на большее, как это

enter image description here

1 Ответ

0 голосов
/ 24 апреля 2018

По документации Amazon MWS для getReport здесь

Ваш вызов функции $request->getReport() возвращает файл, разделенный табуляцией, вы можете довольно легко превратить его в массив, а затем перебрать егои распечатайте их в виде таблицы, попробуйте использовать функцию PHP str-getcsv или fgetcsv и использовать tab в качестве разделителя

Если вам нужны заголовки и вы хотите использоватьэто как ассоциативный массив, есть множество руководств по этому для csv , но не так много специфичных для tsv , так как я не могу многое сказать из вашего кода, поскольку яЯ не знаком с вашей конкретной библиотекой, которую вы используете, я не могу указать вам одно решение, которое сделает это для вас, но есть несколько вариантов для CSV, которые с некоторыми изменениями вы можете приступить к работе, например:

это (stackoverflow.com), это (stackoverflow.com) и это (php.net)

...