Дисплей 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, которые с некоторыми изменениями вы можете приступить к работе, например: