1

我使用带有结算 ID 的 GetReport 创建了一个页面。

到目前为止,我能够从亚马逊卖家那里获得数据,但我正试图弄清楚如何将报告变成一张整洁的表格。

这是我的代码:

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()在一个整洁的表格中细分为更多细节,目前它看起来像这样

在此处输入图像描述

我希望有更多这样的

在此处输入图像描述

4

1 回答 1

1

根据此处获取 getReport 的亚马逊 MWS 文档

你的函数调用$request->getReport()返回一个制表符分隔的文件,你可以很容易地将它变成一个数组,然后循环它并将它们打印为表格,尝试使用 PHP str-getcsvfgetcsv函数并使用制表符作为分隔符

如果您需要标头并希望将其用作关联数组,则有很多针对csv的指南,但没有多少特定于tsv的指南,因为我不熟悉您的代码对于您正在使用的特定库,我无法为您指出一种可以为您做到这一点的解决方案,但是有一些用于 CSV 的解决方案可以通过一些调整来开始工作,例如:

这个(stackoverflow.com)、这个(stackoverflow.com)和这个(php.net)

于 2018-04-24T16:04:47.060 回答