Dop*_*eAt 0 html php json html-table slim
我正在尝试在 php 表中显示 json 内容,但每次都出现错误。我有一些语法错误,无法弄清楚应该更改什么?
附注。尝试使用 Slim 框架构建它
这是我的代码:
<div class="data-table-wrapper">
<?php
$myData = file_get_contents("http://ergast.com/api/f1/current.json");
$myObject = json_decode($myData);
?>
<table class="data-table">
<thead>
<tr>
<td>Date</td>
<td>Time</td>
<td>Round</td>
<td>Circuit</td>
<td>Location</td>
</tr>
</thead>
<?PHP
foreach($myObject as $key=>$item);
?>
<tr>
<td><?PHP echo $item->Date; ?></td>
<td><?PHP echo $item->Time; ?></td>
<td><?PHP echo $item->Round; ?></td>
<td><?PHP echo $item->Circuit; ?></td>
<td><?PHP echo $item->Location; ?></td>
</tr>
<?PHP
}
?>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
我的错误是:
注意:未定义的属性:stdClass::$Date in C:\xampp\htdocs\challenge\app\view\challenge.php 第 38 行
注意:未定义的属性:stdClass::$Time in C:\xampp\htdocs\challenge\app\view\challenge.php 第 39 行
注意:未定义的属性:stdClass::$Round in C:\xampp\htdocs\challenge\app\view\challenge.php 第 40 行
注意:未定义的属性:stdClass::$Circuit in C:\xampp\htdocs\challenge\app\view\challenge.php 第 41 行
json与代码相比,我刚刚查看了您的格式。映射到 的路径json不正确。我已经纠正了下面的问题;
请查看以下内容:
PHP代码:
$myData = file_get_contents("http://ergast.com/api/f1/current.json");
$myObject = json_decode($myData);
$myObjectMap = $myObject->MRData->RaceTable->Races;
Run Code Online (Sandbox Code Playgroud)
对于每种格式:
<?php foreach($myObjectMap as $key => $item): ?>
<tr>
<td><?PHP echo $item->date; ?></td>
<td><?PHP echo $item->time; ?></td>
<td><?PHP echo $item->round; ?></td>
<td><?PHP echo $item->Circuit->circuitId; ?></td>
<td><?PHP echo $item->Circuit->Location->country; ?></td>
</tr>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
完整代码:
<html>
<head>
<title>PHP</title>
</head>
<body>
<?php
$myData = file_get_contents("http://ergast.com/api/f1/current.json");
$myObject = json_decode($myData);
$myObjectMap = $myObject->MRData->RaceTable->Races;
?>
<table>
<thead>
<tr>
<td>Date</td>
<td>Time</td>
<td>Round</td>
<td>Circuit</td>
<td>Location</td>
</tr>
</thead>
<tbody>
<?php foreach($myObjectMap as $key => $item): ?>
<tr>
<td><?PHP echo $item->date; ?></td>
<td><?PHP echo $item->time; ?></td>
<td><?PHP echo $item->round; ?></td>
<td><?PHP echo $item->Circuit->circuitId; ?></td>
<td><?PHP echo $item->Circuit->Location->country; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)