Bonjour,
J'ai un petit soucis concernant l'utilisation des tableaux.
Voici le code en question :
Et voici le résultat obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 $qcs = " SELECT C.id as cid, C.order as corder, C.name as cname FROM ci_categories AS C ORDER BY `corder` ASC "; $categories = $this->db->query($qcs); $cs = $categories->result_array(); echo 'Categories'; $this->print_pre($cs); foreach ($cs as $c){ $cid = $c['cid']; $qps = " SELECT P.id AS pid, P.name AS pname, P.price AS pprice FROM ci_products AS P WHERE $cid = P.category_id ORDER BY pprice ASC "; $products = $this->db->query($qps); $ps = $products->result_array(); $c['cproducts']=$ps; echo 'Categories et produits'; $this->print_pre($c); foreach ($ps as $p){ $pid = $p['pid']; $qis = " SELECT I.name AS ingredient_name FROM ci_ingredients AS I LEFT JOIN ci_recipies as R ON (I.id = R.ingredient_id) WHERE (R.product_id = $pid) ORDER BY ingredient_name ASC "; $ingredients = $this->db->query($qis); $is = $ingredients->result_array(); $p['pingredients'] = $is; echo 'produits et ingredients'; $this->print_pre($p); } }
Mon soucis du moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140 Categories Array ( [0] => Array ( [cid] => 5 [corder] => 1 [cname] => 1st category ) [1] => Array ( [cid] => 7 [corder] => 2 [cname] => 2nd category ) ) Categories et produits Array ( [cid] => 5 [corder] => 1 [cname] => 1st category [cproducts] => Array ( [0] => Array ( [pid] => 1 [pname] => Azer [pprice] => 13.00 ) [1] => Array ( [pid] => 2 [pname] => Poimlk [pprice] => 25.50 ) ) ) produits et ingredients Array ( [pid] => 1 [pname] => Azer [pprice] => 13.00 [pingredients] => Array ( [0] => Array ( [ingredient_name] => D ) [1] => Array ( [ingredient_name] => F ) ) ) produits et ingredients Array ( [pid] => 2 [pname] => Poimlk [pprice] => 25.50 [pingredients] => Array ( [0] => Array ( [ingredient_name] => A ) [1] => Array ( [ingredient_name] => D ) [2] => Array ( [ingredient_name] => H ) [3] => Array ( [ingredient_name] => R ) ) ) Categories et produits Array ( [cid] => 7 [corder] => 2 [cname] => 2nd category [cproducts] => Array ( [0] => Array ( [pid] => 3 [pname] => 3rd recipe [pprice] => 16.25 ) ) ) produits et ingredients Array ( [pid] => 3 [pname] => 3rd recipe [pprice] => 16.25 [pingredients] => Array ( ) )
Comment faire pour merger tous ces tableaux en un seul gros tableau comprenant toutes les informations imbriquées ?
En l'occurence, pour le moment, j'arrive à récupérer les catégories, les produits, les ingrédients, mais je n'arrive pas à faire un gros tableau de tout ça.
Merci d'avance pour toute aide.
PS : la fonction print_pre() est juste une fonction de mise en page des tableaux (éduivalent de print_r() mais mis en page pour faciliter la lecture)
Partager