1 pièce(s) jointe(s)
Requête Récursive PHP et MYSQL pour les niveaux de catégories
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?
Pièce jointe 226378
Code:
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);
?> |
C'est pas évident d'indiquer le bon parent_id pour que ça aille dans le bon niveau et surtout à la bonne catégorie.
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.
suite du message de Celira
Sujet déjà traité qui n'a pas été solutionné :
http://www.developpez.net/forums/d24...de-meme-table/
Mais, peut-être qu'aujourd'hui, c'est possible?
Ajouter ON DELETE CASCADE sur la même table.
Les ID 5,6,7,8 qui a comme parent le ID 2
Si je dois supprimer le ID 2, ça doit aussi supprimer le ID 5,6,7,8
Si je supprime que le ID 5 mais qu'il n a pas de ID enfant, je supprime que le ID 5.
En faite, c'est ça que je voudrais suite à la dernière intervention de Celira.
Pas grand chose dans G.... pour trouver sur cela.