Page 1 sur 1

indentation

Posté : 18 oct. 2005, 15:58
par JBLCN
Bonjour à tous

Pouvez-vous m'aider ?

J'ai une table

fruits: pommes, poires
légumes : haricots, tomates

"Fruits" et "légumes" appartiennent à un champ "catogorie" et "pommes, poires" etc...à un champ "produit" dans la même table.

Je souhaiterais afficher

Fruits
pommes
poires

Légumes

haricots
tomates



J'y arrive très bien avec deux requêtes imbriquées mais je souhaite le faire AVEC UNE SEULE REQUETE (pour des questions de rapidité).

Une arborescence serait encore plus génial mais c'est une autre histoire....

Merci à tous !

JBLCN

Posté : 18 oct. 2005, 16:04
par heddicmi
Si tu fais :
SELECT categorie.nom, produit.nom
FROM categorie, produit
WHERE categorie.id=produit.id_categorie

Ta requête ressortira :
Fruit -- Pomme
Fruit -- Poire
Legume -- Poireau
Fruit -- Raisin
etc..

Dans ta requêtes, tu rajoutes un tri pour avoir d'abord tout les fruit, puis tout les légumes...

Et tu affiches le produit.nom...A chaque ligne, tu vérifies que tu ne passe pas dans la section légume... Si c'est le cas, alors tu ajoutes un petit texte pour dire que c'est un légume... Et tu poursuis la boucle qui affiche désormais les légumes...

Posté : 18 oct. 2005, 16:33
par JBLCN
INtéressant !

Mais peux tu m'en dire plus sur le "tri" ?

Posté : 18 oct. 2005, 16:36
par charabia
Une petite recherche sur ORDER BY

Posté : 18 oct. 2005, 16:45
par pjl
problème identique ici : http://www.phpfrance.com/forums/voir_su ... texte-.php
post à lire.

Posté : 20 oct. 2005, 13:00
par JBLCN
J'ai trouvé mon bonheur. Grand merci à tous !!

Posté : 20 oct. 2005, 13:24
par iclo
Mais on ne saurait trop te conseiller de normaliser ta table, en ayant une table catégorie et une table produit, la table produit ocntenant une clé étrangère vers la table catégorie.

Ce qui donne:

table catégorie
id_catégorie
nom_catégorie

table produit |/u]
id_produit
nom_produit
id_catégorie

C'est beaucoup plus leger(pas de redondance d'infos) et beaucoup plus souple pour des évolutions futurs (par exemple pour un formulaire d'ajout de produit)