В настоящее время я пытаюсь создать многомерный массив в php, используя два запроса (Предметы и Категории).Я сделал поиск по сайту, но я не нашел ничего похожего на то, что я ищу.Я ценю, если кто-то может помочь мне с использованием моего кода.
Пожалуйста, укажите ниже то, что я ищу, и мой код.
Таблицы:
TABLE Items;
+-----------------------------------+
| id | type | name |
+----------+------------+-----------+
| 1 | 4 | item_1 |
| 2 | 3 | item_2 |
| 3 | 2 | item_3 |
+-----------------------------------+
TABLE Categories;
+-----------------------------------+
| id | Item_id | name |
+----------+------------+-----------+
| 1 | 2 | Cat_a |
| 2 | 2 | Cat_b |
| 3 | 3 | Cat_x |
| 4 | 3 | Cat_z |
| 5 | 3 | Cat_b |
| 6 | 1 | Cat_b |
| 7 | 3 | Cat_y |
+-----------------------------------+
Результат, который я ищудля:
Array
(
[0] => Array
(
id => 1
name => Item_1
Type => 4
cats => Array
(
[6] => Cat_b
)
)
[1] => Array
(
id => 2
name => Item_2
Type => 3
cats => Array
(
[1] => Cat_a
[2] => Cat_b
)
)
[2] => Array
(
id => 3
name => Item_3
Type => 2
cats => Array
(
[3] => Cat_x
[4] => Cat_z
[5] => Cat_b
[7] => Cat_y
)
)
)
Мой код:
<code>$result = mysqli_query($link, "SELECT * FROM Categories WHERE Item_id = '233'");
foreach ($result as $key => $value) {
$v[] = $value["id"];
}
foreach ($v as $key => $res) {
$query = mysqli_query($link, "SELECT * FROM Items WHERE category_id = '".$res."'");
foreach ($query as $k =>$att){
$var[$res][] = $att["name"];
}
}
echo '<pre>' . print_r($var,1) . '
';