Merci beaucoup !
Du coup je fais cette requête :
SELECT mv.post_ID, mv.meta_key, mv.meta_value, p.ID, p.post_type, p.name, p.content, p.date, p.parent, p.state, p.o FROM post_meta_value mv JOIN post p ON mv.post_ID = p.ID
Mais du coup, dans mon tableau de sortie, pour chaque "post", je récupère autant d'éléments qu'il a de "meta_value" ex :
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
|
Array (
...
)
Array
(
[post_ID] => 31
[meta_key] => description
[meta_value] => az
[ID] => 31
[post_type] => 3
[name] => ai02
[content] =>
[date] => 0000-00-00 00:00:00
[parent] => 1
[state] => 0
[o] => 128
)
Array
(
[post_ID] => 31
[meta_key] => article_images
[meta_value] => []
[ID] => 31
[post_type] => 3
[name] => ai02
[content] =>
[date] => 0000-00-00 00:00:00
[parent] => 1
[state] => 0
[o] => 128
)
Array (
...
) |
Ce que je veux en sortie, c'est une seule entrée par "post" sous cette forme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Array (
...
)
Array
(
[post_ID] => 31
[article_images] => []
[description] => az
[ID] => 31
[post_type] => 3
[name] => ai02
[content] =>
[date] => 0000-00-00 00:00:00
[parent] => 1
[state] => 0
[o] => 128
)
Array (
...
) |
Du coup, je fais ça actuellement :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
while ($element = $reponse->fetch(PDO::FETCH_ASSOC))
{
$test_tab[$element['ID']][$element['meta_key']] = $element['meta_value'];
unset($element['meta_key']);
unset($element['meta_value']);
$this->list[$element['ID']] = $element;
}
foreach ($this->list as $key => $value) {
foreach ($test_tab[$key] as $k => $v) {
$this->list[$key][$k] = $v;
}
} |
Et ça fonctionne. Pensez-vous que c'est la "bonne" méthode ?
Merci encore !
Partager