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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Fonction qui génère une liste [Débutant(e)]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut Fonction qui génère une liste
    Bonjour à tous,

    Je signale en préambule que je suis plus que débutant en PHP (j'ai lu mon premier article lundi).

    Je souhaite faire une fonction qui génère une liste de la forme suivante :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="navcontainer">
    	<ul id="navlist">
    		<li><h1><a id="current" href="/">Accueil</a></h1></li>
    		<li><h1><a href="/">A propos</a></h1></li>
    		<li><h1><a href="/">Weblog</a></h1></li>
    		<li><h1><a href="/">Contact</a></h1></li>
    	</ul>
    </div>
    Elle devrait le faire à partir d'une liste de catégorie, associée à du texte qu'on doit afficher. En fonction de la catégorie passée en paramètre, elle ajoute id="current" dans cette catégorie.

    Donc, j'ai une fonction de ce type : function afficheListe($cat) qui renvoie un buffer.

    Cependant, où dois-je stocker les catégories ? Je pensais le faire dans un fichier .ini, comme suit pour mon exemple :
    Code Fichier .ini : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    index="Accueil"
    about="A propos"
    weblog="Weblog"
    contact="Contact"
    Et je ferais l'appel comme ça : afficheListe(index);

    Alors, j'ai pas mal de questions sur la façon de réaliser ça.
    Tout d'abord, est-ce que stocker ces données dans un fichier .ini est une bonne idée ?
    Si oui, comment parser le fichier pour remplir un array ?
    Si non, comment faire mieux ?

    Commençons déjà par ces questions, le reste viendra bien assez vite.

    Merci d'avance de m'aider.

    Marco85

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    Si j'ai bien compris ton problème, perso j'utiliserai une base de donnée MySQL pour gérer le contenu d te liste ce qui donnerai quelquechose comme ça :

    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
    function afficheListre($item) {
     
      //connexion à la base de donnée
      .......................
     
      //Création du tableau contenant les items de ta liste
      $requette = mysql_query("SELECT items FROM liste ORDER BY id");
      $i = 0; 
      while ($result = mysql_fetch_array($requette)) {
        $liste[i] = $result['items'];
        $i++
      }
     
      //Formatage de la liste en HTML
      echo '<div id="navcontainer"><ul id="navlist">';
      for ($j=0, $j<$i $j++) {
        echo '<li><h1><a '. (($item == $liste[j])?'id="current"' : '' ) . 'href="/">Accueil</a></h1></li>\n';
      }
      echo '</ul></div>';
    }

  3. #3
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut
    Merci beaucoup pour cette réponse qui déjà me donne de très bonnes indications.

    Ceci dit, avec cette méthode, je dois appeler ma fonction afficheListe avec un paramètre allant de 0 à 3. Or moi, je préfèrerais utiliser un index plus parlant, si c'est possible.

    En fait, il faut peut-être que je donne plus d'explications sur le contexte.

    J'ai une page index.php qui comporte le template de toutes mes pages. Je charge donc des fichiers à un endroit précis de cette page (grâce à include). Jusque là pas de problème.
    En fait, j'ai une liste qui me sert de menu (celle que je cherche à afficher) et je voudrais mettre en relief la catégorie dans laquelle on est (grâce à ce id="current"). Or, comment savoir dans quelle catégorie est une page (parce que je pourrais avoir plusieurs pages dans une même catégorie, comme dans le weblog, par exemple) ? J'ai donc pensé déclarer dans chaque page une variable qui me dirait dans quelle catégorie est cette page courante à afficher.

    Et donc, comme j'y vais par étape, déjà je voudrais pouvoir avoir cette fonction qui affiche la liste en fonction de la catégorie passée en argument.

    Mais, en fait, peut-être que ce n'est pas du tout la bonne solution pour le problème que j'ai.

    Peut-être avez vous d'autres pistes de recherches ou des conseils à me donner ?

    Merci d'avance,

    Marco85

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    j'ai édité ma sollution pour quelquechose de mieux, et par contre tu DOIS passer une chaîne en paramêtre contenant, acceuil, weblog, ...

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/04/2011, 14h19
  2. Erreur Mismatch dans une fonction qui rempli une liste déroulante
    Par MisNiak dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/12/2008, 17h11
  3. Fonction qui trie une liste
    Par piotrr dans le forum Général Python
    Réponses: 3
    Dernier message: 11/05/2007, 15h00
  4. Changer une fonction qui utilise une liste par un tableau!
    Par sara21 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/05/2007, 13h18
  5. Fonction qui renvoie une liste
    Par la_praline dans le forum GTK+ avec C & C++
    Réponses: 20
    Dernier message: 20/04/2007, 21h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo