msi79
Messages postés505Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 5 février 2023
-
21 juil. 2019 à 10:28
NHenry
Messages postés15050Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention30 mars 2023
-
25 juil. 2019 à 13:40
je voudrai afficher les approvisionnements et les dépenses effectuées dans le même tableau avec while.
mais il se trouve que pour chaque dépense qui s'affiche l’approvisionnement s'affiche. or chaque approvisionnement doit s'afficher une seule fois dans le tableau.
voici la capture d'ecran de mon tableau.
voici mes tables :
--
-- Structure de la table `apros`
--
CREATE TABLE IF NOT EXISTS `apros` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL,
`montant` int(30) NOT NULL,
`type` int(11) NOT NULL,
`ref` varchar(80) NOT NULL,
`code` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Contenu de la table `apros`
--
INSERT INTO `apros` (`id`, `date`, `montant`, `type`, `ref`, `code`) VALUES
(2, '2019-06-01 00:00:00', 1000000, 0, '375625B', 0),
(4, '2019-06-05 00:00:00', 500000, 0, '', 0),
(5, '2019-07-15 00:00:00', 1500000, 0, '', 0);
-- --------------------------------------------------------
--
-- Structure de la table `tbdepense_tmp`
--
CREATE TABLE IF NOT EXISTS `tbdepense_tmp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL,
`qte` int(11) NOT NULL,
`montant` int(30) NOT NULL,
`idDp` int(11) NOT NULL,
`promo` varchar(30) NOT NULL,
`mois` int(11) NOT NULL,
`clef` varchar(30) NOT NULL,
`accord` enum('0','1') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Contenu de la table `tbdepense_tmp`
--
INSERT INTO `tbdepense_tmp` (`id`, `date`, `qte`, `montant`, `idDp`, `promo`, `mois`, `clef`, `accord`) VALUES
(1, '2019-06-20 00:29:29', 1, 55000, 2, '2019', 7, 'xKZL2459', '0'),
(2, '2019-06-20 08:16:52', 5, 4500, 16, '2019', 7, 'axK06789', '0'),
(3, '2019-07-21 07:12:52', 10, 80000, 45, '2019', 7, 'KZTL0134', '0'),
(4, '2019-07-21 07:20:07', 15, 80000, 48, '2019', 7, 'xKLV1268', '0');
NHenry
Messages postés15050Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention30 mars 2023156 21 juil. 2019 à 11:44
Il te faut mémoriser le dernier approvisionnement utilisé et uniquement si ça change, alors afficher une nouvelle ligne d'entête.
Concernant la mise en forme, il est recommander de séparer le PHP du HTML, pour cela Twig pourrait t'aider.
Et en plus, en gérant bien, tu pourra mettre dans le contexte ton arborescence de ton tableau.
msi79
Messages postés505Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 5 février 20231 21 juil. 2019 à 19:33
serieusement je comprends rien dans cette reponse ou bien j'ai pas bien expliqué ma préoccupation ?
msi79
Messages postés505Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 5 février 20231 22 juil. 2019 à 15:05
Personne pour m'aider ?
NHenry
Messages postés15050Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention30 mars 2023156 22 juil. 2019 à 20:38
En gros, il faut que tu :
- Mémorise le dernier approvisionnement utilisé
- Lire une nouvelle ligne
- Si le numéro d'approvisionnement est différent du précédent, mettre l'entête
- Repartir pour un tour.
msi79
Messages postés505Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 5 février 20231 23 juil. 2019 à 22:44
je ne comprends toujours pas comment m'y prendre avec ta solution.
mais j'ai une idée et je sais pas comment l'ecrire en php.
voici mon idée pour résoudre.
il me faut comparer les dates d'approvisionnement à celles des dépenses .
au cours de l'affichage des dépenses, si un approvisionnement est fait on l'affiche si sa date est inférieur a celle de la dépense.
le problème que je rencontre est que la date d'approvisionnement s'affiche plusieurs fois
NHenry
Messages postés15050Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention30 mars 2023156 25 juil. 2019 à 13:40
Désolé pour les délais de réponse.
Pour simplifier ton code, commence par préparer tes données (mettre dans un tableau, ...)
Puis ensuite, génère le code HTML associé.
21 juil. 2019 à 19:33
22 juil. 2019 à 15:05
22 juil. 2019 à 20:38
- Mémorise le dernier approvisionnement utilisé
- Lire une nouvelle ligne
- Si le numéro d'approvisionnement est différent du précédent, mettre l'entête
- Repartir pour un tour.
23 juil. 2019 à 22:44
mais j'ai une idée et je sais pas comment l'ecrire en php.
voici mon idée pour résoudre.
il me faut comparer les dates d'approvisionnement à celles des dépenses .
au cours de l'affichage des dépenses, si un approvisionnement est fait on l'affiche si sa date est inférieur a celle de la dépense.
le problème que je rencontre est que la date d'approvisionnement s'affiche plusieurs fois
25 juil. 2019 à 13:40
Pour simplifier ton code, commence par préparer tes données (mettre dans un tableau, ...)
Puis ensuite, génère le code HTML associé.