Bonjour,

je ne suis pas du tout informaticienne, je suis plutôt graphiste. Un peu de pédagogie me sera indispensable
en ce moment je dois reprendre un site intra développé en php.
Dans celui-ci j'ai un menu horizontal déroulant qui se construit à partir des items de la BDD MySql. Tous les items et sous-items sont de couleurs et de comportements identiques.
je dois le retoucher afin que chaque item (Item 1, Item 2,..... Item 6, même niveau) soit d'une couleur différente de son voisin.
Par contre les sous-items (Item 11, Item 21,..... Item 61) seront de la même couleur que leur père respectif.

J'ai trouvé le code qui correspond à la fonction d'affichage et de construction du menu.
Dedans j'ai bien vu qu'on faisait appel qu'à un seul style "menu".

Comment puis-je procéder pour que chaque item de premier niveau soit d'une couleur différente du voisin ?

Ci dessous, le code de mon fichier en php ;

Code PHP : 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//entete de page
// écriture du menu en fonction du code déjà calculé
                if (!isset($_SESSION['code_menu']))
                {
 
                $sql = "SELECT RUBR_NOM, RUBR_ID, RUBR_ID_PERE, RUBR_IMAG FROM rubrique order by RUBR_ORDRE ASC";
                $retour =  mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
                $rubrique = array();
 
                while($row = mysql_fetch_array($retour)) {
                               $rubrique[] = array(
                               'parent_id' => $row['RUBR_ID_PERE'],
                               'rubr_id' => $row['RUBR_ID'],
                               'nom_rubrique' => $row['RUBR_NOM'],
                               'rubr_imag' => $row['RUBR_IMAG']
                               );
                }
 
                $code_menu="<div class=\"menu\">".afficher_menu(0,0,$rubrique)."</div>";
                $_SESSION['code_menu'] = $code_menu;
}
 
                echo ($_SESSION['code_menu']);
                ?>
 
 
 
 
function afficher_menu($parent, $niveau, $array) {
 
                               $html = "";
                               //On sauvegarde le nombre de fois que la fonction est appelée par elle-même dans la variable $niveau 
                               $niveau_precedent = 0;
                               if (!$niveau && !$niveau_precedent) {
                                               if ($niveau>1){
                                                               $html .= "\n<ul class=\"left\">\n";
                                               }
                                               else{
                                                               $html .= "\n<ul>\n";
                                               }
                               }
                               foreach ($array AS $noeud) {
                                               if ($parent == $noeud['parent_id']) {
                                                               if ($niveau_precedent < $niveau) {
                                                                              if ($niveau>1){
                                                                                              $html .= "\n<ul class=\"left niveau$niveau\">\n";
                                                                              }
                                                                              else{
                                                                                              $html .= "\n<ul class=\"niveau1\">\n";
                                                                              }
                                                               }
 
                                                               //$html .= "<li><a href=\"Affichage.php?IDrubr=" . $noeud['rubr_id'] . "\">" . $noeud['nom_rubrique']."</a>";
 
                                                               if ($noeud['rubr_imag'] <> '')
                                                               {
                                                               $html .= "<li><a href=\"/../ref_doc/image/" . $noeud['rubr_imag'] . "\">" . $noeud['nom_rubrique']."</a>";
                                                               }
                                                               else
                                                               {
                                                               $html .= "<li><a href=\"Affichage.php?IDrubr=" . $noeud['rubr_id'] . "\">" . $noeud['nom_rubrique']."</a>";
                                                               }
 
                                               $niveau_precedent = $niveau;
                                               $html .= afficher_menu($noeud['rubr_id'], ($niveau + 1), $array);
                                               }
                               }
                               if ($niveau_precedent == $niveau)  $html .= "</ul>\n</li>\n";
                               else $html .= "</li>\n";
                               return $html;
                               }


Je vous remercie d'avance pour votre aide. Bonne journée.