Dans la suite logique de mon adaptation à PDO, je ne parviens pas à résoudre un problème de tableau
il s'agit d'une table de page et la fonction de mon code me crée un menu html multidimensionnel qui fonctionnais très bien jusque la, seulement malgré tout mes tests il me crée une erreur pas logique
Code : Tout sélectionner
Warning: Invalid argument supplied for foreach() in foreach ($pageData[$menu]['parents'][$parentId] as $itemId)
il me dis que le tableau n'existe pas; hors il existe bien et les variable sont bien crée
$query = 'SELECT
id,mn_parent,bouton,type
FROM
source_menu
ORDER BY
id, bouton';
$prep = $db->prepare($query);
$prep->execute();
$pageData = array(
'page' => array(),
'pageparent' => array()
);
while($row=$prep->fetch(PDO::FETCH_ASSOC))
{
$pageData[$row->type]['page'][$row->id] = $row;
$pageData[$row->type]['parents'][$row->mn_parent][] = $row->id;
}
function buildMenuPage($menu,$parentId, $pageData, $niveau)
{
$niveau++;
$html = '';
if (empty($pageData[$menu]['parents'][$parentId]))
{
$html = "<ul class=\"s$niveau\">\n";
echo 'menu = '. $menu .' <br/>niveau = '.$niveau ;
foreach ($pageData[$menu]['parents'][$parentId] as $itemId)
{
echo '$itemId est '. $itemId .' <br/>';
$html .= "<li><a href=\"/page.php?idpage=".$pageData[$menu]['page'][$itemId]['id']."\" > " . $pageData[$menu]['page'][$itemId]['bouton']."</a>";
$html .= buildMenuPage($menu,$itemId, $pageData, $niveau);
$html .= "</li>\n";
}
$html .= "</ul>\n";
}
return $html ;
}
echo buildMenuPage(1,0, $pageData, 0) ;
je suis certain que l'erreur brûle les yeux mais je ne la vois pasmerci de votre aide