Bonjour ,

Tout d'abord merci de regarder cette question ,

Donc voilà je code un menu géré avec 2 base de donnée avec 2 tables , la première contient le menu principal, la deusième contient les sous-menu de la base principale.

Voici comment elles sont présentée :

menu :
id title href
1 Titre 1 href1
2 Titre 2 href2
3 Titre 3 href3
4 Titre 4 href4

submenu :
id title href parent_menu categorie
1 Titre 1 href1 accueil categorie1
2 Titre 2 href2 accueil categorie1
3 Titre 3 href3 menu2 categorie2
4 Titre 4 href4 menu3 categorie2

Sachant que je veut afficher les sous menu dans differantes catégorie , et qui depant de la page courante .

Je suis perdu \o/ .

Merci de votre aide !

3 réponses


Avec une simple requête ?
Tu fais un SELECT, regarde le tuto sur MYSQL les jointures tu y trouveras peu être quelque chose.

Shuxx62
Auteur

merci ,

Mais un peut trop tard j'ai reussi a faire le code :

$sql = "SELECT distinct categorie FROM submenu WHERE parent_menu='{$_GET'page']}'";
        $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
        while($submenu = mysql_fetch_assoc($req)){
            echo"
            <div id=\"left_haut\">
            <h3>{$submenu'categorie']}</h3>
            </div>
            <div id=\"leftbk\">
            ";
            $sql = "SELECT id,title,href FROM submenu WHERE categorie='{$submenu'categorie']}'";
            $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
            while ($sublien = mysql_fetch_array($req)){
                echo '<li><a title="'.$sublien'title'].'" href="index.php?page='.$sublien'href'].'">'.$sublien'title'].'</a></li>';
            }
            echo"
                </div>
                <div id=\"left_bas\"></div>
                ";
        }.

Mais j'ai un pb des que je clique sur un sous menu , ben j'ai plus mon sous menu ! comment je peut y remédier ??

Shuxx62
Auteur

J'ai remodifier mon code mais je sait pas comment améliorer :

public function csubmenu(){
        $sql = "SELECT distinct categorie FROM submenu WHERE parent_menu='{$_GET'page']}'";
        $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
        $submenu = mysql_numrows($req);
        if(!$submenu<=0){
        while($submenu = mysql_fetch_assoc($req)){
            echo"
            <div id=\"left_haut\">
            <h3>{$submenu'categorie']}</h3>
            </div>
            <div id=\"leftbk\">
            ";
            $sql = "SELECT id,title,href FROM submenu WHERE categorie='{$submenu'categorie']}'";
            $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
            while ($sublien = mysql_fetch_array($req)){
                echo '<li><a title="'.$sublien'title'].'" href="index.php?page='.$sublien'href'].'">'.$sublien'title'].'</a></li>';
            }
            echo"
                </div>
                <div id=\"left_bas\"></div>
                ";
        }
        }
        else{
        $sql = "SELECT distinct categorie FROM submenu WHERE href='{$_GET'page']}'";
        $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
        $submenu = mysql_numrows($req);
        if(!$submenu<=0){
            while ($submenu = mysql_fetch_array($req)){
            echo"
            <div id=\"left_haut\">
            <h3>{$submenu'categorie']}</h3>
            </div>
            <div id=\"leftbk\">
            ";
            $sql = "SELECT id,title,href FROM submenu WHERE categorie='{$submenu'categorie']}'";
            $req = mysql_query($sql) or die('<div class="error"> Erreur SQL !<br /><br />'.$sql.'<br /><br />'.mysql_error().'</div>');
            while ($sublien = mysql_fetch_array($req)){
                echo '<li><a title="'.$sublien'title'].'" href="index.php?page='.$sublien'href'].'">'.$sublien'title'].'</a></li>';
            }
            echo"
                </div>
                <div id=\"left_bas\"></div>
                ";
        }
        }
        }
    }