navigation entre catégories
17 messages
• Page 1 sur 2 • 1, 2
- yann214
- WRInaute occasionnel

- Messages: 370
- Inscription: 17 Nov 2005
navigation entre catégories
Voilà
imaginons une table dans laquelle on stocke les différentes catégories.
Chaque catégorie a un nom, un id et l'id de sa catégorie parente.
Comment peut-on faire pour afficher en haute de la page en cours une série de liens présentant toutes les catégories parentes de la catégorie affichée, sans avoir à faire une requete pour chaque recherche de parent :
Automobile >> Renault >> Twingo
Faut-il adapter la table (ajout d'un autre champ) ou y a-t-il una autre astuce ?
Merci !!!!
imaginons une table dans laquelle on stocke les différentes catégories.
Chaque catégorie a un nom, un id et l'id de sa catégorie parente.
Comment peut-on faire pour afficher en haute de la page en cours une série de liens présentant toutes les catégories parentes de la catégorie affichée, sans avoir à faire une requete pour chaque recherche de parent :
Automobile >> Renault >> Twingo
Faut-il adapter la table (ajout d'un autre champ) ou y a-t-il una autre astuce ?
Merci !!!!
-

mamat- - WRInaute occasionnel

- Messages: 373
- Inscription: 18 Oct 2004
Il faut que tu fasse une requete avec INNER JOIN, c'est à dire une requete sur deux tables ou tu fais correspondre un champ id du parent avec le champ id-parent de la table fille, ainsi tu remonte les infos autant de fois que nécessaire en fait pour bien faire il faut créer des clés sur les champs d'id qui auront une relation 1 à plusieurs, suis-je clair ? (http://www.w3schools.com/sql/sql_join.asp [En])
- yann214
- WRInaute occasionnel

- Messages: 370
- Inscription: 17 Nov 2005
si je comprends bien il faut faire 2 tables :
CATEGORIE :
ID_CAT
NOM
...
LIENS_CATEGORIE :
ID_CAT
ID_CAT_FILLE
et ensuite une jointure entre ces tables.
Mais comme ça je vais devoir faire une requete à chaque fois que je veux remonter d'un niveau de catégorie non ?
CATEGORIE :
ID_CAT
NOM
...
LIENS_CATEGORIE :
ID_CAT
ID_CAT_FILLE
et ensuite une jointure entre ces tables.
Mais comme ça je vais devoir faire une requete à chaque fois que je veux remonter d'un niveau de catégorie non ?
- yann214
- WRInaute occasionnel

- Messages: 370
- Inscription: 17 Nov 2005
Merci pour ces eclaircissements mamat-!
... et en admettant que j'ai jusqu'à une dizaine de niveaux de catégories, vaut-il mieux que je lance 10 fois une requete qui va me chercher la catégorie parente pour remonter jusqu'à la racine ou 1 requête qui va alors faire 10 jointures.... ?
... et en admettant que j'ai jusqu'à une dizaine de niveaux de catégories, vaut-il mieux que je lance 10 fois une requete qui va me chercher la catégorie parente pour remonter jusqu'à la racine ou 1 requête qui va alors faire 10 jointures.... ?
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
yann214 a écrit:Merci pour ces eclaircissements mamat-!
... et en admettant que j'ai jusqu'à une dizaine de niveaux de catégories, vaut-il mieux que je lance 10 fois une requete qui va me chercher la catégorie parente pour remonter jusqu'à la racine ou 1 requête qui va alors faire 10 jointures.... ?
Passe par une fonction récursive. Ne vas pas faire 10 jointures.
Met ton fil d'ariane en cache, histoire de ne pas surcharger ton serveur.
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
mamat- a écrit:Oui fonction récursive, mais si ta version de SQL te le permet, je ne sais plus la quelle il faut..
Je ne parlais pas en SQL, mais dans le langage hôte.
Il n'existe pas de version récursive SQL ( dans le standard SQL ).
La proposition "RECURSIVE UNION" a été abandonné en 1996.
Certains outils propriétaire ont implémenté des fonctionalités supplémentaires :
ORACLE : START WITH et CONNECT BY PRIOR
DB2 : WITH
Il me semble que la dernière version de MS-SQL Server a aussi implémenté des fonctions récursives. Il faudrait que je vérifie.
Mais encore une fois, toutes ces fonctions sont propriétaires et ne sont pas dans la norme SQL
- yann214
- WRInaute occasionnel

- Messages: 370
- Inscription: 17 Nov 2005
le système de fonction récursive me plait mieux effectivement.
Peux-tu me donner plus de détails sur la manière de faire et de gérer le cache.
Admettons qu'un utilisateur arrive via un moteur de recherche sur une page quelconque de l'annuaire, il faut que je construise le fil d'ariane en en-tête de page.
Je dois donc lancer ma fonction récursive qui va lancer une requête pour chaque niveau de catégorie jusqu'à arriver à la racine.
Commnet intégrer un cache à tout ça pour ne pas surcharger le serveur ?
Merci encore pour toutes ces infos !!!
Peux-tu me donner plus de détails sur la manière de faire et de gérer le cache.
Admettons qu'un utilisateur arrive via un moteur de recherche sur une page quelconque de l'annuaire, il faut que je construise le fil d'ariane en en-tête de page.
Je dois donc lancer ma fonction récursive qui va lancer une requête pour chaque niveau de catégorie jusqu'à arriver à la racine.
Commnet intégrer un cache à tout ça pour ne pas surcharger le serveur ?
Merci encore pour toutes ces infos !!!
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
yann214 a écrit:Commnet intégrer un cache à tout ça pour ne pas surcharger le serveur ?
Merci encore pour toutes ces infos !!!
Tu trouveras plein de post sur le forum
http://www.webrankinfo.com/forums/viewtopic_46703.htm
http://www.webrankinfo.com/forums/viewtopic_48137.htm
http://www.webrankinfo.com/forums/viewtopic_47942.htm
et surement plein d'autres
- yann214
- WRInaute occasionnel

- Messages: 370
- Inscription: 17 Nov 2005
merci Spidetra,
Je vais jeter un oeil à tout ça.
Après une première lecture, j'en déduis que tu me conseilles d'utiliser la class PEAR pour placer en cache un bloc qui contiendrait ma zone html "fil d'ariane" ?
Si le cache du bloc n'existe pas : je lance ma procedure recursive.
S'il existe, j'affiche le cache.
Je commence à mieux comprendre =)
Merci !!!
Je vais jeter un oeil à tout ça.
Après une première lecture, j'en déduis que tu me conseilles d'utiliser la class PEAR pour placer en cache un bloc qui contiendrait ma zone html "fil d'ariane" ?
Si le cache du bloc n'existe pas : je lance ma procedure recursive.
S'il existe, j'affiche le cache.
Je commence à mieux comprendre =)
Merci !!!
17 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Google ajoute la Navigation par nom dans sa Toolbar - 15-07-2004
- Honda va inclure Google Earth dans son système de navigation par satellite - 07-04-2006
- Google Maps Navigation par GPS gratuit sur Android - 02-11-2009
- Nouvelle version de GoogleStats : v1.1 - 03-01-2003
- Google Toolbar pour Firefox version 2 - 08-04-2006
- Google Insights for Search : le nouveau Google Trends ? - 06-08-2008
- WebRankInfo passe à Dotclear - 09-09-2005
- Tous les raccourcis-clavier de Google Chrome (shortcuts) - 05-09-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Maps Navigation
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
