Bonjour à tous et à toutes.
J'aimerais faire un menu horizontal avec des foreach alimentés par une bdd.
C'est les sous onglets qui me pose problèmes car je ne sais pas comment faire pour que les balises <ul> et </ul> soit pris en compte qu’une seul fois.
Voici le contenu du array $onglet
Array ( [accueil] => Accueil [page_contact] => Contact [rubrique_1] => Rubrique 1 [test] => test [test-1] => test 1 [test-2] => test 2 [fenetres] => Fenêtres )
Celui du array sous_onglet
Array (
[accueil] => Array (
[0] => Array ( [nom_onglet] => Accueil [lien_onglet] => accueil [cor_lien_menu] => accueil [nom_s_ong] => Accueil bis [lien_s_ong] => accueil_bis )
[1] => Array ( [nom_onglet] => Accueil [lien_onglet] => accueil [cor_lien_menu] => accueil [nom_s_ong] => Accueil Bis 2 [lien_s_ong] => accueil_bis_2 ) )

[page_contact] => Array (
[0] => Array ( [nom_onglet] => Contact [lien_onglet] => page_contact [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )

[rubrique_1] => Array (
[0] => Array ( [nom_onglet] => Rubrique 1 [lien_onglet] => rubrique_1 [cor_lien_menu] => rubrique_1 [nom_s_ong] => Sous onglet rubrique [lien_s_ong] => sous_onglet_rubrique ) )
[test] => Array (
[0] => Array ( [nom_onglet] => test [lien_onglet] => test [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[test-1] => Array (
[0] => Array ( [nom_onglet] => test 1 [lien_onglet] => test-1 [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[test-2] => Array (
[0] => Array ( [nom_onglet] => test 2 [lien_onglet] => test-2 [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) )
[fenetres] => Array ( [0] => Array ( [nom_onglet] => Fenêtres [lien_onglet] => fenetres [cor_lien_menu] => [nom_s_ong] => [lien_s_ong] => ) ) )
Voici mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
$req_menu_hor = $bdd->prepare("SELECT nom_onglet, lien_onglet, cor_lien_menu, nom_s_ong, lien_s_ong FROM menu 
	LEFT JOIN sous_menu ON menu.lien_onglet = sous_menu.cor_lien_menu WHERE auth_view <= :auth_view_level");
	$req_menu_hor->bindValue('auth_view_level', $level, PDO::PARAM_INT);
	$req_menu_hor->execute();
	$onglet = array(); // déclare le tableau
	$sous_onglet = array();
 
	while ($res_menu_hor = $req_menu_hor->fetch())
		{
			$onglet[$res_menu_hor['lien_onglet']] = $res_menu_hor['nom_onglet']; // alimente le tableau
			$sous_onglet[$res_menu_hor['lien_onglet']][] = $res_menu_hor;
		}
	$req_menu_hor->closeCursor();
	//print_r ($onglet);
	//print_r ($rubrique);	
	echo"<div id='cssmenu'><ul>";
	$dernier_onglet = end($onglet);
 
	foreach ($onglet as $key => $values)
		{
			echo '<li class="has-sub';if(urlencode($key) == $page) {echo' active';} if ($key === $dernier_onglet) {echo' last';}echo'">';
			echo'<a href="'.ROOTPATH.'/index.php?page='.urlencode($key).'"><span>'.stripslashes($values).'';
 
				echo'</span></a>';
			echo'</li>';
		}
echo"</ul></div>";
Merci de votre aide.