Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1799 connectés 

 


Dernière réponse
Sujet : [ASP] cherche conseil de PRO
JWhy l'affichage des produits doit se faire quand une categorie n'a pas de sous categories donc:
 
(je connais pas asp, mais j'espere etre assez clair pour que tu puisses t'y retrouver)
 
// on assign la requete de selection des sous categories
rs = "select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES    
     where CAT_ID_ID =  <LA CATEGORIE QUE TU VEUX>
     order by  CAT_ORDER "
 
//on execute la requete  
rs.open;
 
// a-t-on a des sous-categories ?
if not rs.isEmpty then
begin
  // oui, donc on les affiche
  while not rs.eof do
  begin
    (afficher les sous categories)
  end
end
else
begin
  // non, donc on recherche les produits associes a la cat.
  rs2 = "select PRO_ID, PRO_NAME, .... from PRODUITS  
        where CAT_ID = <ID DE LA RUBRIQUE SELECTIONNEE>
        "
  rs2.open
  while not rs2.eof do
  begin
    (afficher les produits)
  end
end

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
JWhy l'affichage des produits doit se faire quand une categorie n'a pas de sous categories donc:
 
(je connais pas asp, mais j'espere etre assez clair pour que tu puisses t'y retrouver)
 
// on assign la requete de selection des sous categories
rs = "select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES    
     where CAT_ID_ID =  <LA CATEGORIE QUE TU VEUX>
     order by  CAT_ORDER "
 
//on execute la requete  
rs.open;
 
// a-t-on a des sous-categories ?
if not rs.isEmpty then
begin
  // oui, donc on les affiche
  while not rs.eof do
  begin
    (afficher les sous categories)
  end
end
else
begin
  // non, donc on recherche les produits associes a la cat.
  rs2 = "select PRO_ID, PRO_NAME, .... from PRODUITS  
        where CAT_ID = <ID DE LA RUBRIQUE SELECTIONNEE>
        "
  rs2.open
  while not rs2.eof do
  begin
    (afficher les produits)
  end
end
DJERO Effectivement, je comprends mieux.
 
J'ai encore un petite question :sweat::
 
Comment ecrit on la condition d'affichage produit?
 
If ???=""
Else (affiche les prods)
 
Merci pour votre aide
JWhy

Djero a écrit a écrit :

Encore une petite question:
Si j'appelles mes sous rubrique de cette façon (l'autre requete ;)) cela va m'afficher toutes la sous categorie sélectionnée, mais également toutes ses sous catégories "enfant".
 
Comment faire pour qu'il naffiche qu'un niveau de sous cat. ?




 
non, normalement ca n'affichera que toutes les rubriques ayant comme parent CAT_CAT_ID... c'est peut-etre un pb de remplissage de ta base... regarde l'exemple que je t'ai donne dans mon premier post:
si tu veux afficher toutes les sous rubriques de CAT 1, tu vas faire:
select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES    
where CAT_ID_ID =  1
order by  CAT_ORDER

 
et ca va te renvoyer:
3,CAT 1.1,1,1  
4,CAT 1.2,1,2  
5,CAT 1.3,1,3  
et pas:
10,CAT 1.2.1,4,1  
11,CAT 1.2.2,4,2  
12,CAT 1.2.2.1,11,1

MagicBuzz C très simple, mais c'est hyper compliqué... :D
 
Mais c'est comme ils ont dit...
 
Tu peux ensuite bidouiller des trucs afin d'optimiser les requêtes...
 
Genre faire une unique requête et stocker toute la table dans un objet javascript (côté client) puis ensuite naviguer dans le catalogue à l'aide du javascript... (ça fait moins de traffic réseau...)
DJERO Désolé, j'ai été un peut vite. Le chemin d'appel est:
select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES  
where CAT_ID_ID = <ID DE LA RUBRIQUE SELECTIONNEE>  
order by  CAT_ORDER

 
:D :D
DJERO Encore une petite question:
Si j'appelles mes sous rubrique de cette façon (select PRO_ID, PRO_NAME, .... from PRODUITS  
where CAT_ID = <ID DE LA RUBRIQUE SELECTIONNEE>
) cela va m'afficher toutes la sous categorie sélectionnée, mais également toutes ses sous catégories "enfant".
 
Comment faire pour qu'il naffiche qu'un niveau de sous cat. ?
 
Merci à vous
DJERO Effectivement, c'est une bonne solution, seulement, j'ai peur que ma table soit un peu difficile à gérer :(, car, à terme, elle devrait comporter près de 20 000 entrées.
 
Y aurait il par exemple moyen de faire le meme systeme mais avec une table de liaison (par ex "gest_souscat" )?
Dans ce cas, quelle peut etre la requète ?
 
Merci pour votre aide :D
JWhy pour recuperer les sous rubriques de la rubrique selectionne:
 
select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES  
where CAT_ID_ID = <ID DE LA RUBRIQUE SELECTIONNEE>
order by  CAT_ORDER
 
si ca ne te retourne rien (pas de sous categories pour la rubrique selectionnee), tu recuperes les produits dispos:
 
select PRO_ID, PRO_NAME, .... from PRODUITS
where CAT_ID = <ID DE LA RUBRIQUE SELECTIONNEE>

 

--Message édité par JWhy--

JWhy ah ok... :o  
 
 
mais tu devrais pouvoir, a peu de choses pres, garder la meme bd...
 
la methode a utiliser est en gros: afficher la categorie et ses sous rubriques de niveau 1... si la categorie n'a pas de sous rubriques, afficher les produits correspondants  
 
par exemple:  
tu affiches la racine et tous ses enfants (niveau 1):
ca te donne
-=RACINE=-
CAT 1
CAT 2
 
tu cliques sur CAT 1
tu affiches la CAT 1 et tous ses enfants (niveau 1):
ca te donne
-= CAT 1 =-
CAT 1.1
CAT 1.2
CAT 1.3
 
tu cliques sur CAT 1.2
tu affiches la CAT 1.2 et tous ses enfants (niveau 1):
ca te donne
-= CAT 1.2 =-
CAT 1.2.1
CAT 1.2.2
 
tu cliques sur CAT 1.2.1
tu affiches la CAT 1.2.1 et tous ses enfants (niveau 1):
comme la CAT 1.2.1 n'a plus d'enfants, tu affiches les produits qui lui sont associes (c-a-d ayant le meme CAT_ID, 10 dans l'exemple) definis dans une table PRODUITS (PRO_ID, PRO_NAME, PRO_..., CAT_ID)
DJERO En fait, je voudrais faire un peut le meme systeme que sur la boutique de leroy merlin.
http://www.leroymerlin.fr/oepcomp/
 
(on oublie la page d'accueil mais la suite n'est pas mal)
 
:D
DJERO C'est effectivement plus clair.
 
Seulement, on s'est mal compris, je ne cherche pas à faire un menu "deroulant".
 
Mon but est d'avoir un menu avec mes grandes categories sur la droite de mon ecran et à gauche des visuels ainsi qu'une description s'y rattachant.
 
Ces visuels sont dans un premier temps des sous rubriques.
Lorsque je clic sur un des visuels, une autre serie de visuel et de description s'affiche (la remplacent). C'est une de mes sous-sous categories. Et ainsi de suite jusqu'a ce qu'il n'y ai plus de nouvelles sous...categories à afficher. Alors j'affiche une liste de produits (visuel+description) s'y référent.
 
ok ? :ouch:
JWhy "la categorie parente auquelle elle se rattache" :
 
c'est l'id de la categorie parente (dans la meme table)
 
imaginons que tu desires avoir:
0 "RACINE"
 ---1 "CAT 1"
      ---3 "CAT 1.1"
 ---2 "CAT 2 "
 
tu auras dans ta table
 
CAT_ID   CAT_NAME   CAT_ID_ID
  0        RACINE     null (car pas de parent, c'est la racine)
  1        CAT 1        0  (la cat. 1 se rattache a la racine)
  2        CAT 2        0  (la cat 2 se rattache aussi a la racine)
  3        CAT 1.1      1  (la cat. 1.1 est rattachee a la cat.1)
 
c'est plus clair ? (pas sur  :sweat: )
DJERO Effectivement, je crois qu'au niveau explication on est sur la meme longeur d'ondes ;)
 
En fait, je n'ai rien compris :(
Peux tu préciser : "la categorie parente auquelle elle se rattache" faut il une autre table ??
 
Merci
JWhy tu te fais une table CATEGORIES avec comme structure
CAT_ID    : l'id de la categorie (PK)
CAT_NAME  : le nom de la categorie
CAT_...   : d'autres champs dont tu as peut-etre besoin (url, ...)
CAT_ID_ID : la categorie parente auquelle elle se rattache (null si c'est la racine...)
CAT_ORDER : l'ordre d'affichage
 
et tu la remplis comme suit:

Citation :


CAT_ID,CAT_NAME,CAT_ID_ID,CAT_ORDER
0,MAIN,<NULL>,1
1,CAT 1,0,1
2,CAT 2,0,2
3,CAT 1.1,1,1
4,CAT 1.2,1,2
5,CAT 1.3,1,3
6,CAT 2.1,2,1
7,CAT 2.2,2,2
8,CAT 2.3,2,3
9,CAT 2.4,2,4
10,CAT 1.2.1,4,1
11,CAT 1.2.2,4,2
12,CAT 1.2.2.1,11,1


 
et apres tu recuperes tes categories avec cette ordre:
 
select CAT_ID, CAT_NAME, CAT_ID_ID from CATEGORIES
order by CAT_ID_ID, CAT_ORDER
 
et tu construit une arborescence en rattachant les CAT_ID_ID au CAT_ID deja existants...
 

Citation :


MAIN  
  CAT 1
    CAT 1.1
    CAT 1.2
      CAT 1.2.1
      CAT 1.2.2
        CAT 1.2.2.1
    CAT 1.3
  CAT 2
    CAT 2.1
    CAT 2.2
    CAT 2.3
    CAT 2.4


 
je sais pas si j'ai ete tres clair !  :sweat:

DJERO Oups, je n'aivais pas vu ton poste guru.
Qu'appels tu une table de liens ? et comment ça marche ?
DJERO C'est vrai que je m'explique comme un pied :D
 
En clair.
Lorsque je clic sur une categorie une recherche est effectué dans ma bdd pour afficher et générer automatiquement une page comportant des visuels et des liens vers des sous categories.
 
Jusque la tout est clair ?
 
Jusque la presque pas de pb, car en fonction de Id de la cat sélectionnée je peux ressortir des sous catégories.
Mon lien est du type:
<a href="categorie.asp?num=<%=rs.Fields("Id_cat" ).value%>">...
 
J'affiche donc mes sous categories.
Là ça ce complique: quel type de lien faire pour afficher mes sous categorie, et d'autre par comment faire en sorte que le lien ailles piocher dans ma table "produit" s'il n'existe pas de sous sous categorie ?
 
D'autre part, cela releve effectivement plus de la gestion qu'autre chose:
Que dois je créer comme table pour que je puisse gérer facillement toutes les sous sous ... categorie.
Dois je créer une table categorie et une table différente pour chaque sous categorie et sous sous... categorie ? (cela va me faire enormement de tables...), ou existe t-il une autre solution ? (sachant que les different sous sous ... categorie aboutiront au bout du compte dans la table produits.)
 
Merci à vous
Guru Une table de categories et une table de liens entre les catégories peut être...
fabd C pas de l'ASP, c plutot de l'analyse... donc MERISE :D
 
G pas vraiment capté ce ke tu voulais :(
DJERO Voila,
 
j'ai un gros probleme de conception. Je monte actuellement une boutique en asp.
 
Mon problème:
 
Je dois à partir d'une table (access) "categories" afficher des sous rubriques qui devront afficher à leurs tours des sous sous rubriques et ainsi de suite.
Que dois je créer comme tables dans access pour pouvoir gérer ça sachant qu'il n'y à pas le meme nb de sous categorie pour chaque catégorie ?
 
Compris ?? :(
 
Merci de m'aider

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR