J'ai passé quelques heures à ce sujet et j'ai besoin de l'aide d'un expert.Fonction récursive de PHP pour obtenir le fil d'ariane
J'ai une table comme ceci:
[id] [name] [parent_id]
1 fruits 0
2 orange 1
3 lemon 2
4 steak 0
Quand je vais au citron, je veux le fil d'Ariane d'être comme:
Accueil> Fruits> Orange> Citron
et citron non être un lien mais le reste est un lien.
Des suggestions?
Le meilleur que j'ai trouvé est ceci mais il fait tout dans un lien.
function createPath($id, $category_tbl) {
$s = "SELECT * FROM ".$category_tbl." WHERE ID = $id";
$r = mysql_query($s);
$row = mysql_fetch_array($r);
if($row['parent_id'] == 0) {
$name = $row['name'];
return "<a href='index.php'>Admin</a> > <a href='index.php?folder_id=$id'>".$name."</a> > ";
} else {
$name = $row['name'];
return createPath($row['parent_id'],$category_tbl). " <a href='index.php?folder_id=$id'>".$name."</a> >";
}
}
La réponse de Erwin m'a donné ce dont j'avais besoin pour le faire fonctionner.
function createPath($id, $category_tbl, $except = null) {
$s = "SELECT * FROM ".$category_tbl." WHERE ID = $id";
$r = mysql_query($s);
$row = mysql_fetch_array($r);
if($row['parent_id'] == 0) {
$name = $row['name'];
if(!empty($except) && $except == $row['id']) {
return "<a href='index.php'>Admin</a> » ".$name."";
}
return "<a href='index.php'>Admin</a> » <a href='index.php?folder_id=$id'>".$name."</a> » ";
} else {
if(!empty($except) && $except == $row['id']) {
$name = $row['name'];
return createPath($row['parent_id'],$category_tbl, false). " $name";
}
$name = $row['name'];
return createPath($row['parent_id'],$category_tbl, false). " <a href='index.php?folder_id=$id'>".$name."</a> »";
}
}
éprouvez des difficultés à vous avec la récupération des données de la table ou la création de la html? – webbiedave
J'ai du mal à créer le HTML en PHP ... comment rendre le dernier élément de la maille de pain pas un lien. –
Vous savez ce que je viens de réaliser ... Il est probablement plus facile d'utiliser les pseudo-éléments CSS pour faire cela que le backend. Comme http://css-tricks.com/triangle-breadcrumbs/ –