J'ai la table suivante nommée compta:
CREATE TABLE IF NOT EXISTS `compta` (
`idCompt` int(4) NOT NULL AUTO_INCREMENT,
`nBonCom` int(10) NOT NULL,
`designation` text COLLATE utf8_unicode_ci NOT NULL,
`quantite` decimal(10,1) NOT NULL,
`section` text COLLATE utf8_unicode_ci NOT NULL,
`idUser` int(2) NOT NULL,
`cout` decimal(10,2) NOT NULL,
PRIMARY KEY (`idCompt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1634 ;
-- Contenu de la table `compta`
INSERT INTO `compta` (`idCompt`, `nBonCom`, `designation`, `quantite`, `section`, `idUser`, `cout`) VALUES
(1556, 201006127, ' Andouille (Petite)', '6.0', 'Examen CAP', 5, '0.00'),
(1166, 201005119, 'Abricots secs', '0.5', 'Examen BP', 1, '0.00'),
(1320, 201005106, 'Abricots sirop', '6.0', 'CAP', 2, '0.00'),
(1368, 201005121, 'Abricots sirop', '6.0', 'Examen Bac Pro', 2, '11.35'),
(1505, 201006126, 'Abricots sirop (Par 6 Btes)', '6.0', 'Examen Bac Pro', 2, '0.00');
...
Ainsi qu'une deuxième 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,
`groupe` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idUser`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=20 ;
-- Contenu de la table `users`
INSERT INTO `users` (`idUser`, `nom`, `mdp`, `labo`, `groupe`) VALUES
(1, 'nom1', 'motdepasse', 'Cuisine Murat', 'formateurs'),
(2, 'nom2', 'motdepasse', 'Boulangerie Treilles', 'formateurs'),
(3, 'nom3', 'motdepasse', 'Boucherie Gond', 'formateurs'),
(4, 'nom4', 'motdepasse', 'Charcuterie Gond', 'formateurs'),
(5, 'nom5', 'motdepasse', 'Cuisine Langin', 'formateurs');
...
Selon un numéro de bon de commande (colonne 'nBonCom' dans la table compta) demandé via un formulaire, je dois pouvoir afficher les labos (table users), et leurs sections. Pour chaque section les désignations et leurs coûts.Les labos doivent être triés en premier, de manière alphabétique. Puis en deuxième les sections, encore dans le même ordre. Et enfin les désignations, toujours de la même façon.
J'ai écris la requête suivante:
SELECT c.nBonCom, c.designation, c.quantite, c.section, c.idUser, c.cout, u.idUser, u.labo
FROM `compta` AS c INNER JOIN users AS u
ON c.idUser = u.idUser
WHERE `nBonCom` LIKE '$nBonCom'
ORDER BY u.labo, c.section, c.designation ASC
J'ai bien mes données qui s'affichent correctement, les labos dans l'ordre voulu, mais pas les sections, et encore moins les désignations. Comment puis-je corriger cela ? (si tant que ce soit possible)merci,