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.
Partager