par
Ryle » 27 mai 2011, 00:21
C'est fait un peu rapidement, mais ta fonction devrait ressembler à quelque chose de ce genre là :
function maFonctionRecursive($parent=0) {
$tableau = array();
$sql = " SELECT ... WHERE parent_id = ". $parent;
...
while(...) { // pour chaque page
$page_id = ... ; // récup de l'id de la page
$tableau[] = array( // récup des paramètres et appel récursif
'id' => $page_id
, 'name' => $page_nom
, 'children' => maFonctionRecursive($page_id));
}
return $tableau;
}
Je pense qu'il y a de meilleures solutions pour éviter un nombre inconnu d'exécution de requête, mais ça te donne au moins une piste

C'est fait un peu rapidement, mais ta fonction devrait ressembler à quelque chose de ce genre là :
[php]function maFonctionRecursive($parent=0) {
$tableau = array();
$sql = " SELECT ... WHERE parent_id = ". $parent;
...
while(...) { // pour chaque page
$page_id = ... ; // récup de l'id de la page
$tableau[] = array( // récup des paramètres et appel récursif
'id' => $page_id
, 'name' => $page_nom
, 'children' => maFonctionRecursive($page_id));
}
return $tableau;
} [/php]
Je pense qu'il y a de meilleures solutions pour éviter un nombre inconnu d'exécution de requête, mais ça te donne au moins une piste :)