Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je rencontre des difficultés dans l'écriture d'une requête. Il s'agit de récupérer (en autres) des produits pour un bon de commande. Pour ce faire, j'ai trois composants essentiels à prendre en compte :
les fournisseurs
les labo(ratoire)s
Chaque labo a ses sections (CAP, BP, BAC...)
La table admincom regroupe la totalité des commandes créées. Je dois pouvoir récupérer tous les produits commandé pour chaque fournisseur. Puis indiquer par la suite quel labo a enregistré tels produits pour quelle section. Cela donnerait à l'affichage:
le fournisseur
le labo
la section
la désignation du produit - la quantité - le conditionnement
etc.
la section
etc.
labo
etc.
Pour l'instant, j'ai écris ceci:
je pense que mes jointures sont bonnes, mais je bloque sur la fin de la requête... Je fais donc appel à vos lumières. La structure de la base:
-- --------------------------------------------------------
-- Structure de la table `categories`
--
CREATE TABLE IF NOT EXISTS `categories` (
`idCat` int(2) NOT NULL AUTO_INCREMENT,
`categorie` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idCat`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;
-- --------------------------------------------------------
--
-- Structure de la table `conditionnement`
--
CREATE TABLE IF NOT EXISTS `conditionnement` (
`idCond` int(2) NOT NULL AUTO_INCREMENT,
`conditionnement` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idCond`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=29 ;
-- --------------------------------------------------------
-- Structure de la table `fournisseurs`
--
CREATE TABLE IF NOT EXISTS `fournisseurs` (
`idFrs` int(2) NOT NULL AUTO_INCREMENT,
`raisonSociale` text COLLATE utf8_unicode_ci NOT NULL,
`adresse1` text COLLATE utf8_unicode_ci NOT NULL,
...
PRIMARY KEY (`idFrs`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ;
-- --------------------------------------------------------
-- Structure de la table `produits`
--
CREATE TABLE IF NOT EXISTS `produits` (
`idPdts` int(4) NOT NULL AUTO_INCREMENT,
`designation` text COLLATE utf8_unicode_ci NOT NULL,
`conditionnement` text COLLATE utf8_unicode_ci NOT NULL,
`idFrs` int(2) NOT NULL,
`idCat` int(2) NOT NULL,
PRIMARY KEY (`idPdts`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=441 ;
-- --------------------------------------------------------
-- Structure de la table `sections`
--
CREATE TABLE IF NOT EXISTS `sections` (
`idSect` int(2) NOT NULL AUTO_INCREMENT,
`section` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idSect`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
-- --------------------------------------------------------
-- Structure de la table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`idUser` int(2) NOT NULL AUTO_INCREMENT,
`nom` text COLLATE utf8_unicode_ci NOT NULL,
`mdp` text COLLATE utf8_unicode_ci NOT NULL,
`labo` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idUser`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=15 ;
merci,
Hors ligne
Salut ,
Commence par préciser la table de quantite, section et labo dans ta requete
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Saluton,
Commençons par y voir plus clair :
Alors pourquoi faire un GROUP BY si tu n'utilises aucune fonction statistique ou d'agrégation ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
je pense avoir progressé en écrivant ceci:
J'obtiens bien toutes les données voulues, mais pas dans le bon ordre à l'affichage. Comme écrit dans le premier post, je dois obligatoirement lire les informations dans cet ordre:
le labo
la section
Tous les produits commandés pour cette section
--------
la section
produits
--------
labo
etc.
pour l'affichage des données, j'ai rédigé ceci:
et le serveur de répondre:
Boulangerie Treilles
CAP
Lardons fum 3.0 kg
Boulangerie Treilles
CAP
Roquefort 2.0 kg
Cuisine Langin
CAP
Cr 6.0 kilo(s)
Cuisine Langin
CAP
Beurre plaque 250 gr 20.0 pi
Cuisine Langin
CAP
Cr 6.0 litre(s)
Pour le labo Cuisine/ section CAP, il faudrait que je puisse ranger en dessous de la section CAP Cr 6.0 kilo(s), Beurre plaque 250 gr 20.0 pi...
Et là, je sèche...
merci,
Hors ligne
Ce n'est plus un problème MySQL, c'est un problème d'algorithmique PHP.
Parcours d'une liste (la ressource retournée par mysql_query) avec gestion de ruptures.
Tu peux éventuellement t'en tirer avec GROUP_CONCAT, mais tu sors du standard SQL.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Ok, merci bien.
Hors ligne
Pages :: 1