Я все еще новый программист. Это не моя дневная работа, но я знаю достаточно, чтобы быть опасным. Я успешно вставил вложенный массив в БД, но не могу понять, как заставить его правильно отображаться. Это список товаров, заказанных в процессе оформления заказа.
Это массив повторяется:
Array
(
[products] => Array
(
[0] => Array
(
[name] => m10x1-5-001 IVB bolt
[code] => m10x1-5-001
[qty] => 1
[price] => 37.00
[image] => m10x1-5-001-S.jpg
[description] => This is a short description of my item.
)
[1] => Array
(
[name] => AA02-015-021 IVB bolt
[code] => AA02-015-021
[qty] => 1
[price] => 39.00
[image] => m10x1-5-001-S.jpg
[description] => I'm a classic bolt.
)
)
)
Мне нужно повторить это в удобочитаемом формате, так как это происходит на странице администратора заказа. Он хранится сериализованным в поле ‘products’ в mysql, и это мой стартовый код, который не работает:
if ($result->num_rows > 0) {
echo "<table border='1'><tr><th>ID</th><th>header1</th><th>header2:</th><th>Items:</th></tr>";
while($row = $result->fetch_assoc()) {
$decrypted = decrypt(base64_decode($row["number"]), ENCRYPTION_KEY);
$decrypted2 = decrypt(base64_decode($row["cvv"]), ENCRYPTION_KEY);
echo "<tr><td>".$row["id"]."</td><td>".$decrypted."</td><td>".$decrypted2."</td><td>";
$listitems = base64_decode(unserialize($row["products"]));
foreach($listitems as $item)
{
echo $item['name'] . $item['code'] . $item['qty'] . $item['price'] . $item['image'] . $item['description'] ;
}echo "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
Я знаю, что этот код еще не ссылается на вложенную природу массива. Новичок нуждается в небольшой помощи.
Для форматированного вывода вы можете напечатать таблицу HTML:
$listitems = base64_decode(unserialize($row["products"]));
$output = '<table>
<tr>
<th>Name</th>
<th>Code</th>
<th>Quantity</th>
<th>Price</th>
<th>Image</th>
<th>Description</th>
</tr>
';
foreach($listitems as $item)
{
$output .= '<tr>
<td>' . $item['name'] . '</td>
<td>' . $item['code'] . '</td>
<td>' . $item['qty'] . '</td>
<td>' . $item['price'] . '</td>
<td>' . $item['image'] . '</td>
<td>' . $item['description'] . '</td>
</tr>';
}
$output .= '</table>';
echo $output;
Других решений пока нет …