У меня есть многомерный массив JSON, и я хотел бы сгенерировать в этих данных bacis HTML table basi c.
JSON имеет следующий формат - ссылка здесь ;
[
{
"id": 1,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G01",
"room_status": 1,
"hour": {
"08": 1,
"09": 2,
"10": 1,
"11": 2,
"12": 0,
"13": 1,
"14": 2,
"15": 2,
"16": 1,
"17": 0,
"18": 1,
"19": 1,
"20": 0
}
},
{
"id": 2,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G02",
"room_status": 2,
"hour": {
"08": 1,
"09": 1,
"10": 0,
"11": 0,
"12": 0,
"13": 0,
"14": 1,
"15": 1,
"16": 0,
"17": 1,
"18": 1,
"19": 1,
"20": 1
}
},
{
"id": 3,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G03",
"room_status": 1,
"hour": {
"08": 0,
"09": 2,
"10": 2,
"11": 2,
"12": 0,
"13": 2,
"14": 1,
"15": 0,
"16": 1,
"17": 1,
"18": 1,
"19": 2,
"20": 2
}
},
{
"id": 4,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G04",
"room_status": 2,
"hour": {
"08": 1,
"09": 2,
"10": 2,
"11": 1,
"12": 1,
"13": 0,
"14": 0,
"15": 1,
"16": 0,
"17": 2,
"18": 0,
"19": 1,
"20": 2
}
},
{
"id": 5,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G05",
"room_status": 2,
"hour": {
"08": 1,
"09": 2,
"10": 1,
"11": 0,
"12": 0,
"13": 0,
"14": 2,
"15": 1,
"16": 1,
"17": 2,
"18": 2,
"19": 1,
"20": 1
}
}
]
Мне нужно l oop просмотреть эти данные и отобразить date
, floor
и room_name
в левой колонке. Я могу это сделать, однако мне также нужно отобразить hour
и room_status
в одной ячейке таблицы. Я не знаю, как этого добиться.
Мне нужно, чтобы моя финальная таблица выглядела следующим образом (обратите внимание, я буду заменять целые числа на строки в финальной таблице, т.е. 0 = false
, 1 = true
, et c);
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Room | | | | | | | | | | | | | |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Ground | | | | | | | | | | | | | |
| G01 | 1 | 2 | 1 | 2 | 0 | 1 | 2 | 2 | 1 | 0 | 1 | 1 | 0 |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Ground | | | | | | | | | | | | | |
| G02 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 2 |
| Ground | | | | | | | | | | | | | |
| G02 | 0 | 2 | 2 | 2 | 0 | 2 | 1 | 0 | 1 | 1 | 1 | 2 | |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
В приведенной выше таблице hour
- это верхнее значение в ячейке (от 08 до 20), а room_status
- это нижнее значение (0, 1 или 2).
My PHP код:
$string = file_get_contents("data.json");
$json = json_decode($string, true);
<?php foreach($json as $room): ?>
<tr>
<td>
<p><?php echo $room['date']; ?></p>
<p><?php echo $room['floor']; ?></p>
<p><?php echo $room['room_name']; ?></p>
</td>
// need help with populating the other table cells here
</tr>
<?php endforeach; ?>
Я знаю, что мне нужен своего рода вложенный foreach l oop для доступа к ключу и значениям hour
, но я не могу понять это: /
Любая помощь приветствуется.