Créer dynamiquement un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Créer dynamiquement un tableau

Créer dynamiquement un tableau

par Abalor » 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.
<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">&nbsp;</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