[RESOLU] Problème pour déclarer un tableau

Mammouth du PHP | 804 Messages

20 févr. 2015, 18:08

Bonjour à tous,

je rencontre un souci pour déclarer un tableau associatif

voici la requête qui génère mon tableau
	$query = 'SELECT mn_id,mn_parent,bouton,type,page'
		. ' FROM source_menu'
		. ' WHERE valide=?'
		. ' ORDER BY pos *1 ASC';
		$select = $db->prepare($query);
		$select->bindValue(1, '1', PDO::PARAM_INT);	 
		$select->execute();	

    $pageData = array( 
        'page' => array(), 
        'pageparent' => array() 
    ); 

while($row=$select->fetch(PDO::FETCH_ASSOC))
{    
	$pageData[$row['type']]['page'][$row['mn_id']] = $row; 	
	$pageData[$row['type']]['page'][$row['bouton']] = $row['bouton']; 	
	$pageData[$row['type']]['page'][$row['page']] = $row['page']; 	
	$pageData[$row['type']]['pageparent'][$row['mn_parent']][] = $row['mn_id'];
}

et voici la fonction que j'ai créer pour utiliser le résultat, ça fonctionne très bien mais en activant les Error notice j'ai un souci de Notice: Undefined index: sur $tableau
function fabrique_menu_page($menu,$parentId, $pageData, $niveau , $rupage) 
    { 
        $niveau++;
        $html = ''; 		
	$tableau = $pageData[$menu]['pageparent'][$parentId]; // PROBLEME ICI JE PENSE

        if(isset($tableau)) 
        { 
            $html = "<ul class=\"s$niveau\">\n";
				foreach($tableau as $itemId) 
				{  				
				$html .= '<li><a href="page.php?idpage='.$pageData[$menu]['page'][$itemId]['id'].'" > '. $pageData[$menu]['page'][$itemId]['bouton'].'</a>'; 
				$html .= fabrique_menu_page($menu,$itemId, $pageData, $niveau,$rupage); 
				$html .= "</li>\n"; 
				} 
              	$html .= "</ul>\n"; 
        } 
        return $html ;
 }

auriez vous une idée pour obtenir un code propre et faire sauté cette vilaine Error d'amateur :roll: :oops: ?

merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

20 févr. 2015, 22:47

Ton isset tel qu'il est ne sert à rien. :)
C'est celui-là qui doit être testé :
if(isset($pageData[$menu]['pageparent'][$parentId]))
{
   $tableau = $pageData[$menu]['pageparent'][$parentId];

Mammouth du PHP | 804 Messages

21 févr. 2015, 09:51

Je te remercie c'est nickel =D>