indentation

JBLCN
Invité n'ayant pas de compte PHPfrance

18 oct. 2005, 15:58

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

Mammouth du PHP | 568 Messages

18 oct. 2005, 16:04

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...
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

JBLCN
Invité n'ayant pas de compte PHPfrance

18 oct. 2005, 16:33

INtéressant !

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 oct. 2005, 16:36

Une petite recherche sur ORDER BY

ViPHP
pjl
ViPHP | 2119 Messages

18 oct. 2005, 16:45

problème identique ici : http://www.phpfrance.com/forums/voir_su ... texte-.php
post à lire.

JBLCN
Invité n'ayant pas de compte PHPfrance

20 oct. 2005, 13:00

J'ai trouvé mon bonheur. Grand merci à tous !!

ViPHP
ViPHP | 2144 Messages

20 oct. 2005, 13:24

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)