Fonction recherche complexe [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 30-06-2006 à 19:12:20
energiez a écrit : Donc si quelqu'un avait une brillante idée pour que les magasins des souscatégories s'affiche lorsque je séléctionne la catégorie principal, je suis preneur ! |
Te faut rajouter une table "sous-catégorie" reliée à la table "catégories"
Ensuite, tu modifies la table de liaison "categories_magasin" pour lier un magasin à une "sous_categories" plutôt qu'une "catégorie"
T_magasin
-----------------
PK| id
| nom
| ville
T_categories
-----------------
PK | id
| nom
T_souscategories
-----------------
PK | id
| nom
FK | categorie
T_categories_magasin
---------------------------
FK | souscategorie
FK | magasin
Ensuite, pour chaque catégorie demandée, tu sors toutes les sous-catégories correspondantes puis chaque magasin relié, style :
SELECT T_magasin.nom from
T_magasin,
T_categories_magasin,
T_categories,
T_souscategories
where
T_categories.nom="truc" and
T_categories.id = T_souscategories.categorie and
T_souscategorie.id = T_categories_magasin.souscategorie and
T_souscategorie.magasin = T_magasin.id
Marsh Posté le 30-06-2006 à 23:43:36
ba mes sous catégorie "boucle" sur elle même, du coup pas besoin d'une autre tabel
A je me rend compte que j'ai oublié un champ dans la table catégorie :
T_categorie
-------------
PK | id
FK | parent (clef étrangére sur l'id de catégorie)
| nom
Marsh Posté le 01-07-2006 à 11:43:27
energiez a écrit : ba mes sous catégorie "boucle" sur elle même, du coup pas besoin d'une autre tabel |
Ah oui, en fait une catégorie peut très bien être sous-catégorie d'une autre, c'est bien ça ???
Si c'est ça, cela veut dire aussi qu'une sous-catégorie peut elle-aussi avoir d'autres sous-sous catégories et ce, à l'infini...
Bon, déjà la requête ci-dessous "devrait" fonctionner pour un niveau de sous-catégories...
SELECT T_magasin.nom from
T_magasin,
T_categories_magasin,
T_categories as cat,
T_categories as scat
where
T_categories.nom="truc" and
cat.id = scat.parent and
scat.id = T_categories_magasin.categorie and
T_categorie_magasin.magasin = T_magasin.id;
Marsh Posté le 30-06-2006 à 14:10:22
Bonjour à tous, et d'avance, merci pour votre aide.
Je suis actuellement entrain de développer un module de recherche (pour trouver des magasins) qui prend 3 paramétres en arguments : Nom, ville et catégories.
La structure de ma base et tel :
T_magasin
-----------------
PK| id
| nom
| ville
T_categories
-----------------
PK | id
| nom
T_categories_magasin
---------------------------
FK | categorie
FK | magasin
J'ai actuellement, cette requete SQL (avec un peu de php) qui fonctionne.
Celle ci fonctionne mais, si je selectionne une catégorie "principal" tous les magasins des sous menu n'apparaissent pas Ca fait un moment que je planche la dessus, et je trouve pas de solutions
Les catégories sont construites de cette maniéres :
Cat1
--Souscat1.1
--Souscat1.2
Cat2
--Souscat2.1
--Souscat2.2
--Souscat2.3
ect...
Donc si quelqu'un avait une brillante idée pour que les magasins des souscatégories s'affiche lorsque je séléctionne la catégorie principal, je suis preneur !
Encore merci a ceu qui m'aideront.
Message édité par energiez le 30-06-2006 à 14:14:21