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

ASP Discussion :

Plan de site


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut Plan de site
    Bonjour à tous,

    J'essaie depuis une bonne semaine de générer un plan de site à partir de la table suivante:



    J'avais introduit les données en pensant les afficher ainsi:

    • Activités
    • Publications
    • Expositions
    • Acquisitions récentes
    • Multimédia
    • Lecture publique
    • Fonds d'étude
  2. Catalogues
  3. Catalogues
  4. Anciens catalogues
  5. Sujet
  6. Biographique
  7. Thèses
  • Collections
  • Manuscrits
  • Fonds Achard
  • Fonds Bachelard
  • Cartes
  • Iconographie


  • Je pensais faire un group by sur le champs "menu_principal", puis, faire un Count sur "sous_menu1" et chaque fois que le champs "sous_menu1" se répétait, créer une sous rubrique qui afficherait le "sous_menu2".
    La première partie de la requête ne pose pas de problème:
    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
    21
    22
    23
    24
     
    <table width="602" border="0" cellpadding="0" cellspacing="0">
            <tr>
            <td width="20"></td>
    		<td height="84" align="left" valign="top">
    		<br><br>
    		<% 
    		'connection pour la liste des rubriques=menu_principal
    		Set Conn = Server.CreateObject("ADODB.Connection")
    		Conn.Open DSN_BASE
    		Set Rs = Server.CreateObject("ADODB.Recordset")
    		Rs.Open "SELECT menu_principal FROM T_site2 GROUP BY menu_principal" , Conn
    		Rs.MoveFirst
    		do while not Rs.eof%>
    		<h2><%=Rs("menu_principal")%></h2><br>
    		<%Rs.MoveNext
    		loop
    		Rs.Close
    		Set Rs = Nothing
    		Conn.Close
    		Set Conn = Nothing%>
    		</td>
    	    </tr>
            </table>
    Je ne vois par contre pas du tout comment récupérer "menu_principal" en variable pour effectuer cette deuxième opération sans Querystring ou ResquestForm.
    Est-ce que je complique excessivement la procédure? Y aurait-il beaucoup plus simple? Ou est-ce plus compliqué qu'il n'y paraît???
    Merci d'avance pour tout fragement de piste...
    Bonne journée.

  • #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    A mon avis, ce n'est pas une très bonne idée de générer un plan de site à partir d'une base de données. Cela t'oblige à le mettre à jour à chaque fois que tu ajoute une page. N'est-ce pas plutôt un menu de navigation?

    Sinon, l'idée d'arborescence me semble mal gérée dans ton cas. Une solution serait d'instaurer un systeme de parentalité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Id   IdParent        Libellé
     0    NULL         Menu principal
     1      0         Activité
     2      1         Publications
     3      0         Expositions
    Dans cet exemple, tu vois que chaque enregistrement à un parent (sauf la racine). Il suffit ensuite de faire une requete mettant en jeu deux fois la table avec une jointure entre l'identifiant et le parent. Ainsi, tu auras une liste du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Id   IdParent        Libellé               Nom parent
     0    NULL         Menu principal         NULL
     1      0          Activité              Menu principal
     2      1          Publications         Activité
     3      0          Expositions          Menu principal
    Si tu ordonnes les enregistrements par le champ "IdParent", tu peux faire une boucle qui affichera les éléments selon l'arborescence.

    A+

  • #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Merci Immobilis, je vais tenter de réorganiser ma table dans le sens préconisé, et essayer de gérer l'affichage avec des champs supplémentaires.
    Bonne journée.

    PS: dois-je ajouter "Délestage" ou autre chose?

  • #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Re, tu peux regarder ici aussi: http://sqlpro.developpez.com/cours/arborescence/

    "Delestage" sert quand la question n'a aucun interet. Ce n'est pas le cas. Par contre tu pourras mettre la discussion en "résolu" lorsque tu auras trouvé une solution.

    A+

  • + Répondre à la discussion
    ActualitésTUTORIELS ASPF.A.Q ASPASP.NET

    Discussions similaires

    1. Logiciel pour créer un plan de site
      Par L0007 dans le forum Webdesign & Ergonomie
      Réponses: 2
      Dernier message: 02/12/2009, 19h28
    2. Faire un plan du site pour le référencement?
      Par zorba49 dans le forum Référencement
      Réponses: 2
      Dernier message: 23/01/2008, 16h13
    3. Ajouter des pages dans un plan de site(sitemap)
      Par Poulain dans le forum ASP.NET
      Réponses: 24
      Dernier message: 04/05/2007, 14h40
    4. Générer un plan de site
      Par messier79 dans le forum Langage
      Réponses: 2
      Dernier message: 02/06/2006, 06h53
    5. créer une page plan de site
      Par yvan02 dans le forum Langage
      Réponses: 7
      Dernier message: 09/10/2005, 20h13

    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