Affichage des donnees dans un tableau
Fermé
olivierndategana
Messages postés
3
Date d'inscription
lundi 8 juin 2020
Statut
Membre
Dernière intervention
9 juin 2020
-
Modifié le 8 juin 2020 à 15:07
olivierndategana Messages postés 3 Date d'inscription lundi 8 juin 2020 Statut Membre Dernière intervention 9 juin 2020 - 9 juin 2020 à 13:48
olivierndategana Messages postés 3 Date d'inscription lundi 8 juin 2020 Statut Membre Dernière intervention 9 juin 2020 - 9 juin 2020 à 13:48
A voir également:
- Affichage des donnees dans un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Trier un tableau excel - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
4 réponses
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
Ambassadeur
1 557
8 juin 2020 à 15:13
8 juin 2020 à 15:13
bonjour, qu'as-tu essayé?
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
8 juin 2020 à 15:13
8 juin 2020 à 15:13
Bonjour,
oui... et ?
Qu'as tu commencé à faire ?
Sur quoi bloques tu exactement ?
Quelle est la structure de tes tables ?
Sais tu faire des requêtes SQL ?
Sais tu faire des boucles en PHP ?
Qu'utilises tu pour relier ton code php à ta bdd ? mysqli ? pdo ?
Ton souci est au niveau de la requête SQL ( vu que tu as posté dans le forum mysql ) ou de ton code PHP ( et dans ce cas il faudra que je déplace ta question dans le bon forum.. ) ??
NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications ( à lire entièrement ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
oui... et ?
Qu'as tu commencé à faire ?
Sur quoi bloques tu exactement ?
Quelle est la structure de tes tables ?
Sais tu faire des requêtes SQL ?
Sais tu faire des boucles en PHP ?
Qu'utilises tu pour relier ton code php à ta bdd ? mysqli ? pdo ?
Ton souci est au niveau de la requête SQL ( vu que tu as posté dans le forum mysql ) ou de ton code PHP ( et dans ce cas il faudra que je déplace ta question dans le bon forum.. ) ??
NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications ( à lire entièrement ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
olivierndategana
Messages postés
3
Date d'inscription
lundi 8 juin 2020
Statut
Membre
Dernière intervention
9 juin 2020
Modifié le 8 juin 2020 à 21:09
Modifié le 8 juin 2020 à 21:09
Voici ce que j'ai essayé et le résultat que j'ai
EDIT : Ajout du LANGAGE dans les BALISES DE CODE
Résultat : pour chaque sous ligne budgétaire on affiche la désignation de la ligne et le sous total comme le montre l'image suivante:
<table class="table table-bordered table-hover"> <thead> <th bgcolor="green">CODE</th> <th bgcolor="green">LIGNE BUDGETAIRE</th> <th bgcolor="green">UNITE</th> <th bgcolor="green">QTE</th> <th bgcolor="green">FREQ</th> <th bgcolor="green">CU</th> <th bgcolor="green">CT</th> <th bgcolor="green">%</th> <th bgcolor="green">OBS/NOTES</th> </thead> <tbody> <?php require 'ajout/cnx.php'; $donneess = "SELECT * FROM budgetline, projet where budgetline.idprojet=projet.id and projet.id='$idprojet'"; $recupp=$connexion->prepare($donneess); $recupp->execute(); $count=$recupp->roWcount(); if ($count>0){ $donnees = "SELECT budgetline.montant,budgetline.codeligne, budgetline.designation, souslignebudget.codesousligne,souslignebudget.desig, souslignebudget.unite, souslignebudget.qte, souslignebudget.montantunitaire, souslignebudget.frequence, souslignebudget.montanttotal, souslignebudget.pourcentage, souslignebudget.observation FROM souslignebudget,budgetline where souslignebudget.idligne=budgetline.id and budgetline.idprojet='$idprojet'"; $recup=$connexion->prepare($donnees); $recup->execute(); $count=$recup->roWcount(); if ($count>0){ $service=$recup->fetchall(PDO::FETCH_OBJ); ?> <?php foreach ($service as $ser):?> <?php echo "<tr>"; echo "<td colspan='9' class='justifier' bgcolor='gray'><strong>".$ser->codeligne.". ".$ser->designation."</strong></td>"; echo "</tr>"; echo "<tr>"; echo "<td class='justifier'><strong>".$ser->codesousligne."</strong></td>";echo "<td class='justifier'>".$ser->desig."</td>"; echo "<td>".$ser->unite."</td>"; echo "<td>".$ser->qte."</td>"; echo "<td>".$ser->frequence."</td>"; echo "<td>".$ser->montantunitaire."</td>"; echo "<td><strong>".$ser->montanttotal."</strong></td>"; echo "<td>".$ser->pourcentage."</td>"; echo "<td class='justifier'>".$ser->observation."</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='6' class='justifier' bgcolor='gray'><strong>SOUS-TOTAL</strong></td>"; echo "<td class='justifier' bgcolor='gray'><strong>".$ser->montant."</strong></td>"; echo "<td bgcolor='gray'></td>"; echo "<td bgcolor='gray'></td>"; echo "</tr>"; ?> <?php endforeach;?> <?php $totgen=0; require 'ajout/cnx.php'; $donnees2 = "SELECT souslignebudget.montanttotal FROM souslignebudget,budgetline,projet where souslignebudget.idligne=budgetline.id and budgetline.idprojet=projet.id and projet.id='$idprojet'"; $recupp=$connexion->prepare($donnees2); $recupp->execute(); $servicee=$recupp->fetchall(PDO::FETCH_OBJ); ?> <?php foreach ($servicee as $serr):?> <?php $totgen+=$serr->montanttotal;?> <?php endforeach;?> <?php echo "<tr>"; echo "<td class='justifier'colspan='6'bgcolor='gray'>"."<strong>"."TOTAL GENERAL DU BUDGET"."</strong>"."</td>"; echo "<td class='justifier'colspan='2' bgcolor='gray'>"."<strong>".$totgen." $"."</strong>"."</td><td bgcolor='gray'></td>"; echo "</tr>"; ?> <?php }else { echo "<script type='text/javascript'> alert('-Erreur: Aucune sous ligne budgétaire déjà enregistrée -')</script>"; echo "<meta http-equiv='refresh' content='0;URL=allproject.php'>"; } ?> <?php }else { echo "<script type='text/javascript'> alert('-Erreur: Aucune ligne budgétaire déjà enregistrée -')</script>"; echo "<meta http-equiv='refresh' content='0;URL=allproject.php'>"; } ?> </tbody> </table>
EDIT : Ajout du LANGAGE dans les BALISES DE CODE
Résultat : pour chaque sous ligne budgétaire on affiche la désignation de la ligne et le sous total comme le montre l'image suivante:
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
>
olivierndategana
Messages postés
3
Date d'inscription
lundi 8 juin 2020
Statut
Membre
Dernière intervention
9 juin 2020
8 juin 2020 à 20:40
8 juin 2020 à 20:40
bonjour, je suggère de commencer par des exercices plus simples, pour maîtriser la technique avant de faire des exercices plus compliqués.
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
Modifié le 8 juin 2020 à 21:20
Modifié le 8 juin 2020 à 21:20
Pour commencer, je t'avais demandé de lire ENTIEREMENT les consignes concernant les balises de code ( j'ai corrigé ton message pour y mettre le langage.)
Je te réinvite donc à lire ENTIEREMENT le fonctionnement des balises de code avant de reposter sur le forum :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, quelques remarques concernant ton code :
- Il n'y a pas besoin, visiblement, de faire plusieurs requêtes.....
Une seule devrait te permettre d'obtenir toutes les infos voulues
- La fonction rowCount ne s'utilise JAMAIS sur une requête SELECT en PDO. ( à la place, tu peux faire un count sur le résultat du fetchAll )
- Vu que tu codes en PDO, voici quelques conseils à appliquer :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
- Je t'invite également à utiliser les consignes données ici pour correctement écrire/présenter ton code. Histoire que ça soit plus lisible et maintenable..
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
- On remarque également des soucis sur les caractères accentués...
La solution se trouve là :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Commence déjà par faire ces modifications et reviens nous voir avec le "nouveau" code si ton souci persiste.
PS: Je déplace ta question dans le forum php ... la question ne concernant pas réellement un souci sql visiblement...
Je te réinvite donc à lire ENTIEREMENT le fonctionnement des balises de code avant de reposter sur le forum :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, quelques remarques concernant ton code :
- Il n'y a pas besoin, visiblement, de faire plusieurs requêtes.....
Une seule devrait te permettre d'obtenir toutes les infos voulues
SELECT * FROM souslignebudget SB LEFT JOIN budgetline B ON SB.idligne = B.id LEFT JOIN projet P ON B.idprojet = P.id AND B.idprojet = '$idprojet'
- La fonction rowCount ne s'utilise JAMAIS sur une requête SELECT en PDO. ( à la place, tu peux faire un count sur le résultat du fetchAll )
- Vu que tu codes en PDO, voici quelques conseils à appliquer :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
- Je t'invite également à utiliser les consignes données ici pour correctement écrire/présenter ton code. Histoire que ça soit plus lisible et maintenable..
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
- On remarque également des soucis sur les caractères accentués...
La solution se trouve là :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Commence déjà par faire ces modifications et reviens nous voir avec le "nouveau" code si ton souci persiste.
PS: Je déplace ta question dans le forum php ... la question ne concernant pas réellement un souci sql visiblement...
olivierndategana
Messages postés
3
Date d'inscription
lundi 8 juin 2020
Statut
Membre
Dernière intervention
9 juin 2020
9 juin 2020 à 13:48
9 juin 2020 à 13:48
En attendant que j'appliques les bonnes pratiques de codage, voici les codes:
<thead> <th bgcolor="green">CODE</th> <th bgcolor="green">LIGNE BUDGETAIRE</th> <th bgcolor="green">UNITE</th> <th bgcolor="green">QTE</th> <th bgcolor="green">FREQ</th> <th bgcolor="green">CU</th> <th bgcolor="green">CT</th> <th bgcolor="green">%</th> <th bgcolor="green">OBS/NOTES</th> </thead> <tbody>
<?php require 'ajout/cnx.php'; $donneess = "SELECT * FROM budgetline, projet where budgetline.idprojet=projet.id and projet.id='$idprojet'"; $recupp=$connexion->prepare($donneess); $recupp->execute(); $count=$recupp->roWcount(); if ($count>0){ $donnees = "SELECT budgetline.montant,budgetline.codeligne, budgetline.designation, souslignebudget.codesousligne,souslignebudget.desig, souslignebudget.unite, souslignebudget.qte, souslignebudget.montantunitaire, souslignebudget.frequence, souslignebudget.montanttotal, souslignebudget.pourcentage, souslignebudget.observation FROM souslignebudget,budgetline where souslignebudget.idligne=budgetline.id and budgetline.idprojet='$idprojet'"; $recup=$connexion->prepare($donnees); $recup->execute(); $count=$recup->roWcount(); if ($count>0){ $service=$recup->fetchall(PDO::FETCH_OBJ); ?> <?php foreach ($service as $ser):?> <?php echo "<tr>"; echo "<td colspan='9' class='justifier' bgcolor='gray'><strong>".$ser->codeligne.". ".$ser->designation."</strong></td>"; echo "</tr>"; echo "<tr>"; echo "<td class='justifier'><strong>".$ser->codesousligne."</strong></td>";echo "<td class='justifier'>".$ser->desig."</td>"; echo "<td>".$ser->unite."</td>"; echo "<td>".$ser->qte."</td>"; echo "<td>".$ser->frequence."</td>"; echo "<td>".$ser->montantunitaire."</td>"; echo "<td><strong>".$ser->montanttotal."</strong></td>"; echo "<td>".$ser->pourcentage."</td>"; echo "<td class='justifier'>".$ser->observation."</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='6' class='justifier' bgcolor='gray'><strong>SOUS-TOTAL</strong></td>"; echo "<td class='justifier' bgcolor='gray'><strong>".$ser->montant."</strong></td>"; echo "<td bgcolor='gray'></td>"; echo "<td bgcolor='gray'></td>"; echo "</tr>"; ?> <?php endforeach;?> <?php $totgen=0; require 'ajout/cnx.php'; $donnees2 = "SELECT souslignebudget.montanttotal FROM souslignebudget,budgetline,projet where souslignebudget.idligne=budgetline.id and budgetline.idprojet=projet.id and projet.id='$idprojet'"; $recupp=$connexion->prepare($donnees2); $recupp->execute(); $servicee=$recupp->fetchall(PDO::FETCH_OBJ); ?> <?php foreach ($servicee as $serr):?> <?php $totgen+=$serr->montanttotal;?> <?php endforeach;?> <?php echo "<tr>"; echo "<td class='justifier'colspan='6'bgcolor='gray'>"."<strong>"."TOTAL GENERAL DU BUDGET"."</strong>"."</td>"; echo "<td class='justifier'colspan='2' bgcolor='gray'>"."<strong>".$totgen." $"."</strong>"."</td><td bgcolor='gray'></td>"; echo "</tr>"; ?> <?php }else { echo "<script type='text/javascript'> alert('-Erreur: Aucune sous ligne budgétaire déjà enregistrée -')</script>"; echo "<meta http-equiv='refresh' content='0;URL=allproject.php'>"; } ?> <?php }else { echo "<script type='text/javascript'> alert('-Erreur: Aucune ligne budgétaire déjà enregistrée -')</script>"; echo "<meta http-equiv='refresh' content='0;URL=allproject.php'>"; } ?>
</tbody> </table>