Bonjour.
Quand je mets dans ma table le parent_id 0, ça va afficher la racine, c'est correcte; 1 pour le niveau 1, 2 pour le niveau 2, mais si j'ai plusieurs niveau 2 et que je mets un niveau supérieur, ça va pas se placer dans le bon niveau le sous-niveau.
Regardez l'image la table à gauche le parent_id et le résultat à droite. Vous allez voir de quoi je parle.
Je pensais que si je mettais 2 que ça allait se placer à un niveau 2 mais pas nécessairement à la bonne branche.
Qu'est-ce qui ne va pas dans mon code pour ne pas se placer à la bonne place?
C'est pas évident d'indiquer le bon parent_id pour que ça aille dans le bon niveau et surtout à la bonne catégorie.
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 <?php include 'db.php'; function getCategories($parent_id) { $sql = "SELECT * FROM category WHERE parent_id='$parent_id'"; $db = getDB(); $stmt = $db->query($sql); $res = $stmt->fetchAll(PDO::FETCH_OBJ); if($res!=NULL) { echo '<ul>'; foreach($res as $row) { echo '<li>' . $row->parent_id .'-'. $row->name . '</li>'; getCategories($row->id); } echo '</ul>'; } } echo getCategories(0); ?>
J'ai besoin d'aide pour remanier mon code et apprécié. Ça fait un bon bout que je fais des lectures sur les requête
récursives avec Mysql.









Répondre avec citation




Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Partager