Я создал страницу, используя 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()
разбить на более подробную информацию в аккуратной таблице, на данный момент это выглядит так
Я надеялся на большее, как это
По Amazon MWS Документация для getReport Вот
Ваш вызов функции $request->getReport()
возвращает файл, разделенный табуляцией, вы можете довольно легко превратить его в массив, затем зациклить его и распечатать как таблицу, попробуйте использовать PHP ул-getcsv или же fgetcsv функция и использование табуляции в качестве разделителя
Если вам нужны заголовки и вы хотите использовать их в качестве ассоциативного массива, для этого есть множество руководств. CSV, но не многие, которые являются специфическими для TSV, так как я не могу многое сказать из вашего кода, так как я не знаком с вашей конкретной библиотекой, которую вы используете, я не могу указать вам одно решение, которое сделает это за вас, но есть несколько для CSV, которые с некоторыми настраивая, вы можете приступить к работе, например:
этот(Stackoverflow.com), этот(stackoverflow.com) и этот(Php.net)
Других решений пока нет …