Bonjour,
J'ai 2 tables construites ainsi :
TABLE "fabrications" (qui contient toutes les fabrications de notre petite société artisanale) avec les champs suivant
ID_fab (int, not null, auto increment, clé primaire)
delais (date, not null)
client (varchar, not null)
et TABLE "etapes_fab" (qui contient toutes les étapes de fabrications pour chaque fabrication de la société) avec les champs suivant :
ID_etape (int, not null, auto increment, clé primaire)
fabricationID (int, not null)
atelier (varchar, not null)
operation (varchar; not null)
ordre (int, not null)
Le but est d'afficher un tableau dans lequel chaque ligne représente une fabrication avec ses étapes correspondantes donc le nombre de colonne change suivant la fabrication puisque que le nombre d'étapes n'est pas toujours le même.
Là,déjà j'ai lutté plusieurs jours avant de trouvé la solution qui est simple une fois qu'on la connais c'est à dire avec un LEFT JOIN dans la requête SQL et une rupture de séquence pour l'affichage dans le code PHP. Voici ma requête :
Code : Tout sélectionner
SELECT fabrications.ID_fab, fabrications.delais, fabrications.client, etapes_fab.ID_etape, etapes_fab.fabricationID, etapes_fab.atelier, etapes_fab.operation, etapes_fab.ordre
FROM fabrications LEFT JOIN etapes_fab ON fabrications.ID_fab=fabricationID
ORDER BY fabrications.delais ASC, fabrications.ID_fab, etapes_fab.ordre
LE PROBLEME que j'ai maintenant et où je sèche complètement après moulte essai et qui pourtant me parait tout bête est le suivant :
Je voudrais pouvoir afficher uniquement les fabrications avec toutes ses étapes correspondantes dont au moins une de ses étapes contient l'atelier x (collage par exemple).
Moi, j'avais tout simplement rajouter une clause :
Mais bien entendu le résultat est qu'il m'affiche bien la fabrication qui contient au moins cette étape mais du coup il ne m'affiche que cette étape alors que je souhaiterais quand même afficher toutes les autres étapes de cette même fabrication puis la fabrication suivante avec toutes ses étapes qui répond également au critère de sélection...
Voilà, je sais pas si c'est suffisamment clair. Peut-être que je m'y suis mal pris
Merci beaucoup pour votre aide !