Дисплей Amazon MWS GetReport в Bootstrap PHP

Я создал страницу, используя 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() разбить на более подробную информацию в аккуратной таблице, на данный момент это выглядит так

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

1 ответ

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

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

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

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

Другие вопросы по тегам