Créer dynamiquement un tableau
Posté : 14 févr. 2015, 19:37
Bonjour à tous,
Je butte sur un problème :
Je fais un peu d'économie et je souhaite créer des tableaux récapitulant des données de la manière suivante :
Historique Prévisions
Année 2013 Année 2014 Année 2015 Année 2016 Année 2017
Chiffre d’affaires
Valeur ajoutée
Valeur ajoutée (%)
Résultat d’exploitation
Résultat net
Résultat net (% du CA net)
Entre 2013 et 2017, il faut juste remplir des lignes : je pourrais faire cela très facilement j'ai juste a faire pour toutes les années et toutes les colonnes une requête SQL
Il y a plusieurs choses :
1/ pour la BDD j'ai :
-name_economics_informations : Nom de l’information économique
Ex : pour chiffre d'affaires on a CA, pour valeur ajoutée on a VA
year_economics_informations : permet de rattacher l'information a une année Ex : 2014
month_economics_informations : la c'est pour le mois puisque normalement les données sont mensualisées
val_economics_informations : c'est la valeur de l'information
2/ Vous comprenez donc que pour l’année 2014 par exemple il faut grouper l'ensemble des mois
3/ Il se peut très que les informations d'une année soit manquante Exe : l'année 2014 ne peut ne pas être renseigné, un mois non plus, ce n'est pas notre pb ici de vérifier si l'information est correcte ou non il n'y a juste qu'a extraire ce que l'on peut de la BDD
4/ les années ne sont pas prise au hasard : 2015 est l'année de référence parceque nous sommes en 2015 (l'année 215 sert de référence pour ensuite avoir un historique depuis 2 ans jusqu’en 2013 et pour les prévisions nous allons aussi à 2 ans, jusqu’en 2017.
Sauf que sincèrement il y a bien mieux a faire je pense.
Avec un array ?
Je n'aimerais avoir qu' préciser les champs a utiliser pour créer le tableau
Je butte sur un problème :
Je fais un peu d'économie et je souhaite créer des tableaux récapitulant des données de la manière suivante :
Historique Prévisions
Année 2013 Année 2014 Année 2015 Année 2016 Année 2017
Chiffre d’affaires
Valeur ajoutée
Valeur ajoutée (%)
Résultat d’exploitation
Résultat net
Résultat net (% du CA net)
Entre 2013 et 2017, il faut juste remplir des lignes : je pourrais faire cela très facilement j'ai juste a faire pour toutes les années et toutes les colonnes une requête SQL
Il y a plusieurs choses :
1/ pour la BDD j'ai :
-name_economics_informations : Nom de l’information économique
Ex : pour chiffre d'affaires on a CA, pour valeur ajoutée on a VA
year_economics_informations : permet de rattacher l'information a une année Ex : 2014
month_economics_informations : la c'est pour le mois puisque normalement les données sont mensualisées
val_economics_informations : c'est la valeur de l'information
2/ Vous comprenez donc que pour l’année 2014 par exemple il faut grouper l'ensemble des mois
3/ Il se peut très que les informations d'une année soit manquante Exe : l'année 2014 ne peut ne pas être renseigné, un mois non plus, ce n'est pas notre pb ici de vérifier si l'information est correcte ou non il n'y a juste qu'a extraire ce que l'on peut de la BDD
4/ les années ne sont pas prise au hasard : 2015 est l'année de référence parceque nous sommes en 2015 (l'année 215 sert de référence pour ensuite avoir un historique depuis 2 ans jusqu’en 2013 et pour les prévisions nous allons aussi à 2 ans, jusqu’en 2017.
Sauf que sincèrement il y a bien mieux a faire je pense.
<table width="100%" border="0">
<tr>
<th rowspan="2" scope="col"><em>en euros</em></th>
<th colspan="2" scope="col">Historique</th>
<th scope="col"> </th>
<th colspan="2" scope="col">Prévisions</th>
</tr>
<tr>
<td>Année <?php echo date("Y")-2; ?></td>
<td>Année <?php echo date("Y")-1; ?></td>
<td>Année <?php echo date("Y"); ?></td>
<td>Année <?php echo date("Y")+1; ?></td>
<td>Année <?php echo date("Y")+2; ?></td>
</tr>
<tr>
<td>Chiffre d’affaires </td>
<?php
$select = $connexion->prepare('
SELECT name_economics_informations,year_economics_informations, SUM(val_economics_informations) AS value
FROM economics_informations
GROUP BY name_economics_informations,year_economics_informations
');
$select->execute();
$date_depart = date("Y")-2;
while($enregistrement = $select->fetch())
{
if($enregistrement['name_economics_informations'] == 'CA')
{
if($enregistrement['year_economics_informations'] == $date_depart)
{
?>
<td><?php echo $enregistrement['value']; ?></td>
<?php
}
else
{
?>
<td>N/D</td>
<?php
}
$date_depart++;
}
}
?>
</tr>
Est-il possible d'automatiser ? Avec un array ?
Je n'aimerais avoir qu' préciser les champs a utiliser pour créer le tableau