Aller au contenu

[resolu] Barre de situation en Php


Sujets conseillés

Posté (modifié)

Bonjour à tous,

Je ne suis pas développeur Php, mais avec l'habitude, j'ai appris à le lire et le comprendre dans les grandes largeurs. Malheureusement, pour écrire un script, c'est pas encore ça.

Je souhaite savoir s'il existe un script qui me permettra de réaliser une barre de situayion dynamique, selon la page où on se trouve, et non pas renseignée en dur. Un peu dur genre de celle où on se trouve actuellement :

Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP & mySQL

Est-il possible de le réaliser sur un site en grande partie statique, en appelant les noms de folder et les noms de fichiers ? :whistling:

Merci.

Modifié par kiouv
Posté

Bonjour,

Cela dépend de comment est structuré ton site :

-http://www.monsite.com/rep1/rep2/rep18/index.php

Le chemin sera : Accueil > Rep1 > Rep2 > Rep18

Essaie en découpant l'url :)

Portekoi

Posté (modifié)

C'est bien structuré comme ça.

Je crois que j'ai trouvé une méthode que voilà :

-http://www.phpindex.com/trucsetastuces/trucsetastuces_lire.php3?element=14

C'est bien ça ?

Modifié par kiouv
Posté

Re,

<?	
$monsite = "http://www.monsite.com/";
//Récupère l'adresse où l'on se trouve  
//doc : http://www.nexen.net/docs/php/annotee/reserved.variables.server.php?lien=_server
$url = $_SERVER['REQUEST_URI'];  
 
//Url est de la forme : /test/youpi/ (Sans le nom du script où l'on se trouve)
//On peut donc utiliser la function explode  
//Doc : http://www.nexen.net/docs/php/annotee/function.explode.php
$tab = explode("/",$url);

//On prépare le tout pour l'accueil
$lien =  "<a href=\"".$monsite."\">Accueil</a>";

//Tant qu'il y a quelque chose dans mon tableau, tu conctènes le tout dans la variable $lien :)  
//Doc strlen : http://www.nexen.net/docs/php/annotee/function.strlen.php
//Doc Sizeof/Count : http://www.nexen.net/docs/php/annotee/function.count.php
for ($i=0;$i<sizeof($tab)-1;$i++){
$lien.= "<a href=\"".$monsite.$tab[$i]."/\">".$tab[$i]."</a> > ";
}  

//On enlève le dernier ' >' pour faire plus propre avec la fonction substr    
//http://www.nexen.net/docs/php/annotee/function.substr.php
$lien = substr($lien,0,strlen($lien)-3);

echo $lien;
?>

Vala vala :)

Peut pas faire plus complet ^_^

EDIT : Oui et non en faites car Path contient toute l'url sans découpe par répertoire :) / Enfin je pense, jamais testé :)

Portekoi

Posté

Mmmh ok, ça marche nickel.

Un dernier truc : je cherche également à inscrire le nom de la page en cours, car là, il ne me répercute que les répertoires. Le seul moyen que j'aie trouvé, c'est de récupérer le contenu de la balise <title> de mon head, toutes gérées dans un fichier unique, ou justement d'ajouter une balise spéciale avec l'intitulé exact de ce que je veux afficher (utile pour un fichier enfant d'un fichier rangé au même niveau d'arbo que lui).

C'est un bon moyen, ou il y en a un autre ? :unsure:

Posté

Re,

Si tu peux ajouter une balise spéciale, je pense que cela serait le mieux mais un autre probèle interviens...

Si je suis dans ma partie 'test' et que j'ai mis en description 'mon test'

Cela va donner ceci : Accueil > Mon Test

Mais si je vais visiter une page qui se trouve dans le répertoire test et qui s'appelle Youpi ayant pour description 'Vivi Php', Cela donnera ceci : Accueil > Test > Vive php

A chaque fois tu vas perdre la description....

Je pense que le seul vrai moyen de palier à ceci est d'utilisé une base de donnée avec une table comme ceci :

Colonne ID : Incrément Auto

Colonne NOM : Nom du lien

Colonne IDParent : Père du lien

Colonne Description : texte à afficher

Colonne Url : Lien complet

ID | NOM | IDparent | Description | Url

1 | Accueil | 0 | accueil | lien...

2 | Test | 1 | Mon Test | lien...

3 | youpi | 2 | Vive le Php | lien...

En fesant un requete du type :

Select nom, description, lien from matable where nom = 'ma_variable_qui_me_dit_ou_je_suis' :)

Et une boucle en récupérant IDparent pour afficher le tout en 'remontant' :)

Doit y avoir une solution plus simple mais là je vois pas....

Posté

Mon arbre de répertoire et la façon dont je compte nommer mes pages devraient eviter ce souci. Mais je garde ta solution 2 sous le coude dans le cas ou je construirais un site plus complexe, avec des scripts qui permettront de "classer" automatiquement les pages.

Merci de ta précieuse contribution. :clap:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...