Bonjour,

je met en place un fils d'Ariane, mon code marche mais comme je débute je pense qu'il y a possibilité d'améliorer largement le code.
Donc si quelqu'un à les compétences pour me donner quelques conseils et m'améliorer le code.
Voici les détails :
Table rubriques avec id_rubrique, id_parent, titre
Ca donne quelque chose comme ça :

titre id_rubrique id_parent
1er rub 1 0
2èeme 2 1
3ème 3 2

Et voici le code php associé qui serait à optimiser. Je pense que le fait de faire des while tout le temps ça doit ralentir :

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
29
30
31
32
33
34
35
36
<?PHP
//INSTANCE DE REQUETE
$sql = new Sqlal();
IF(EMPTY($_GET['som'])AND!EMPTY($_GET['rub'])){
    $g_id_rub=$_GET['rub'];
    $sql->query("SELECT id_rubrique,id_parent,titre  FROM rubriques WHERE id_rubrique='".$g_id_rub."';","rub");
    $row_sec=$sql->fetch_object("rub");
        $id_parent=$row_sec->id_parent;
        $id_rub_voulu=$row_sec->id_rubrique;
        $nom_rub_voulu=$row_sec->titre;
    //REDIRECTION SI RUB A UN PARENT===0 CE QUI NE DEVRAIT PAS ARRIVÉ
    IF($id_parent==='0'){
        header("Location: index.php?action=visualiser&som=".$id_rub_voulu."");
    }
    //LORSQUE QUE LA RUBRIQUE À UN PARENT
    ELSE {
        $sql->query("SELECT id_rubrique,id_parent,titre  FROM rubriques WHERE id_rubrique='".$id_parent."';","nom_ssrub");
        $row_parent=$sql->fetch_object("nom_ssrub");       
        $nom_parent=$row_parent->titre;
        $id_rub=$row_parent->id_rubrique;
        $id_parent_dernier=$row_parent->id_parent;
        IF($id_parent_dernier==='0'){
            $this->fils_ariane .='&nbsp;<a  href="./index.php?action=visualiser&som='.$id_rub.'">'.$nom_parent.'</a>&nbsp;>&nbsp;'.$nom_rub_voulu;           
        }
        ELSE{
            $sql->query("SELECT id_rubrique,titre  FROM rubriques WHERE id_rubrique='".$id_parent_dernier."';","nom_premrub");
            $row_pr=$sql->fetch_object("nom_premrub");       
            $nom_pr=$row_pr->titre;
            $id_rub_pr=$row_pr->id_rubrique;
            $this->fils_ariane .='&nbsp;<a href="./index.php?action=visualiser&som='.$id_rub_pr.'">'.$nom_pr.'</a>&nbsp;>';
            $this->fils_ariane .='&nbsp;<a  href="./index.php?action=visualiser&rub='.$id_rub.'">'.$nom_parent.'</a>&nbsp;>';
            $this->fils_ariane .='&nbsp;'.$nom_rub_voulu;
        }
    }
}   
?>
le but serait que je ne sois pas limité. C'est à dire que j'ai un truc du style tant que la rubrique n'a pas 0 en id_parent on fait le lien.
En effet 0 indique que c'est la rubrique principal.

A titre indicatif quand je fais une requête je l'identifie avec un nom différents d'où un truc du style :

"SELECT * FROM table ';","nom_unique"


Voilà en espérant que quelqu'un puisse me donner un coup de main pour l'optimisation du code pour que je ne sois pas limité.
Si la personne pouvais mettre le code avec pas mal de commentaire ça m'aiderai car j'aimerai bien être sûr de comprendre car j'ai du mal avec la notion de récursivité.
Merci d'avance pour votre aide.