IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Créer un "chemin de fer" (suite de lien donnant la position dans l'arborescence d'un site)

Supposons d'abord que vous avez une base de donnée avec une table pour vos pages (nommons la PAGES, parfaitement au hasard). Supposons ensuite que dans cette table, vous avez un champ Id_page (identifiant de la page en cours, un auto increment fera très bien l'affaire), un autre appelé Id_parent (l'ID de la page parent, le N+1 dans l'organigramme), et un champ Titre (contenant le titre de votre page).
La seule règle imposée sera que l'Id_parent de la page racine sera 0.

Il nous suffit d'appeler cette fonction à l'endroit indiqué comme suit :

$chemin_de_fer = recur_chemin($id_de_la_page_en_cours);
echo $chemin_de_fer;
Avatar de titoumimi
Expert éminent https://www.developpez.com
Le 14/02/2011 à 19:12
Bonjour,

Je vous propose un nouvel élément à utiliser : Créer un "chemin de fer" (suite de lien donnant la position dans l'arborescence d'un site)

Supposons d'abord que vous avez une base de donnée avec une table pour vos pages (nommons la PAGES, parfaitement au hasard). Supposons ensuite que dans cette table, vous avez un champ Id_page (identifiant de la page en cours, un auto increment fera très bien l'affaire), un autre appelé Id_parent (l'ID de la page parent, le N+1 dans l'organigramme), et un champ Titre (contenant le titre de votre page).

La seule règle imposée sera que l'Id_parent de la page racine sera 0.

Il nous suffit d'appeler cette fonction à l'endroit indiqué comme suit :

Code php : Sélectionner tout
1
2
3
$chemin_de_fer = recur_chemin($id_de_la_page_en_cours); 
  
echo $chemin_de_fer;


Qu'en pensez-vous ?
Avatar de Tortue33
Candidat au Club https://www.developpez.com
Le 03/06/2011 à 22:33
Salut titoumimi,
Merci tout d'abord pour ce code, je voudrai le faire fonctionner sur mon site mais la je bloque.

Alors j'ai fait ma table (pages) avec 3 champs:
-Id_page
-Id_parent
-Titre

Je me connecte sur ma base de données avec:
Code : Sélectionner tout
1
2
3
4
5
<?php    
require "config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);

puis je colle ton code dans mon index:

Code : Sélectionner tout
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
function recur_chemin($idpage) {
// on définit la variable pour éviter le warning
$chemin_complet = "";
// Si l'id de la page en cours est différent de 0
// (0 = page parente de la page racine = inexistante)
if ($idpage != 0) {
// on récupère les informations de la page en cours dans la DB
$strSQL = "SELECT * FROM pages WHERE Id_page=".$idpage;
$resultat = requete_SQL($strSQL);
$tabl_result = mysql_fetch_array($resultat);
 
$titrepage = $tabl_result['titre'];
$idparent = $tabl_result['id_parent'];
 
// cr?ation du lien vers la page en cours
$chemin_page_en_cours = " -> <a href=\"index.php?id_p=".$idpage."\">".$titrepage."</a>";
 
// Concaténation du lien de la page N-1 et
// du lien de la page en cours
$chemin_complet = recur_chemin($idparent).$chemin_page_en_cours;
}
//renvoie le chemin complet
return $chemin_complet;
}
?>
et je colle ça pour afficher le chemin:

Code : Sélectionner tout
1
2
3
4
5
 <?php
 $chemin_de_fer = recur_chemin($id_de_la_page_en_cours);
echo $chemin_de_fer;
mysql_close(); 
?>
Alors mon problème est que rien s'affiche, faut-il configurer ton code exemple:
Code : Sélectionner tout
$chemin_complet = "";


Peux-tu m'aider a m'orienter sur mes erreurs?
Merci.
Avatar de Tortue33
Candidat au Club https://www.developpez.com
Le 04/06/2011 à 10:22
Merci Shikiryub pour cette remarque, car c'est la premier fois que j'attends parlé de mysqli, je vais donc essayer d'apprendre tout ça pour en suite l'utiliser sur mon site. C'est sympa de mettre le doigt sur les failles de sécurité car je ne l'ai détecte pas encore.

Je suis débutant donc je ne rentrerai pas dans un débat car il est bon d'apprendre les nouveautés sur tout quand on débute et je remercie aussi toutes les personnes qui font des tutoriels pour nous car cela est mon seul moyen d'étudier le php.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.