par
dogmongo » 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

?
merci d'avance
Bonjour à tous,
je rencontre un souci pour déclarer un tableau associatif
voici la requête qui génère mon tableau
[php]
$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'];
}
[/php]
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 [b]$tableau[/b]
[php]
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 ;
}
[/php]
auriez vous une idée pour obtenir un code propre et faire sauté cette vilaine Error d'amateur :roll: :oops: ?
merci d'avance