亚马逊MWS GetReport显示在Bootstrap PHP中

时间:2018-04-24 14:42:04

标签: php amazon-mws amazon-marketplace mws

我使用带有结算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()在整洁的表格中详细分析更多细节,此时它看起来像

enter image description here

我希望更喜欢这个

enter image description here

1 个答案:

答案 0 :(得分:1)

针对getReport的{亚马逊MWS文档here

您对$request->getReport()的函数调用返回一个标签分隔文件,您可以非常轻松地将其转换为数组,然后循环并将其打印为表格,尝试使用PHP str-getcsvfgetcsv函数并使用制表符作为分隔符

如果您需要标题并希望将其用作关联数组,那么 csv 有很多指南可供使用,但 tsv ,因为我不熟悉您所使用的特定图书馆,因此我无法从您的代码中说出太多信息,但我无法向您指出一个能为您做到这一点的解决方案,但是有一些用于CSV的人可以通过一些调整来开始工作,例如:

this(stackoverflow.com),this(stackoverflow.com)和this(php.net)