Total d'une colonne

Résolu/Fermé
bisevac Messages postés 15 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 19 février 2009 - 5 févr. 2009 à 09:52
bisevac Messages postés 15 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 19 février 2009 - 5 févr. 2009 à 11:43
Bonjour,

Je voudrais savoir si il est possible en php de calculer le totale d'une colonne, lorsque celle-ci n'est pas enregistrée dans la BDD. En effet j'ai une colonne avec le nombre de jours de congés (donc qui n'est pas dans ma base, vu que c'est une donnée calculée) pris par un salarié. Et j'aurais besoin d'avoir le total de ses journées de congés, afin de pouvoir calculer le nombre de jours lui restant.

Merci d'avance.

5 réponses

Webmastore Messages postés 100 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 30 janvier 2014 17
5 févr. 2009 à 10:01
Bonjour,

Oui c'est surement possible mais sans connaitre comment est construite ta base difficile de t'aider
0
bisevac Messages postés 15 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 19 février 2009
5 févr. 2009 à 10:11
Pour ce calcul je n'utilise pas ma base puis que ce sont des données calculées je te transmets mon code si tu peux t'en servir pour m'aider.

Voici l'appel à ma base :

<?php
include "../config.php" ;
$Numero=$_GET['index'] ;
$reponse = mysql_query("SELECT *
FROM personne, contrats_personnes, contrats
WHERE contrats.Num_contrat=contrats_personnes.Num_contrat
AND personne.Num_perso=contrats_personnes.Num_perso
AND personne.Num_perso='$Numero'");

$donnees = mysql_fetch_array($reponse);
$resultat=mysql_query("SELECT Num_conges, Num_perso,Date_debut as dated, Date_fin as datef, DATE_FORMAT(Date_debut,'%d-%m-%Y'),  DATE_FORMAT(Date_fin,'%d-%m-%Y'), Heure, Numtype_conges, Numuti, Poste, Date_enr, Journee
FROM conges 
WHERE Num_perso='$Numero'");
?>



Et voici la partie ou j'ai calculée le nombre de jours de congés pris.

<?php
$c = 0;
 while($boucle = mysql_fetch_assoc($resultat))

{

 $ligne1="#007fe0" ;
 $ligne2="transparent" ;
 $couleur = ($c % 2 == 0) ? $ligne1 : $ligne2;      $couleur2 = ($c % 2 == 0) ? "white" : $ligne1;
  

  ?>
 <p>
<tr>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font   color="<?php echo($couleur2); ?>"><b><center><?php echo $boucle["DATE_FORMAT(Date_debut,'%d-%m-%Y')"]; ?></center></font></div></td>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font   color="<?php echo($couleur2); ?>"><b><center><?php echo $boucle["DATE_FORMAT(Date_fin,'%d-%m-%Y')"]; ?></center></font></div></td>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font   color="<?php echo($couleur2); ?>"><b><center><?php echo $nbjours = round((strtotime($boucle["datef"]) - strtotime($boucle["dated"]))/(60*60*24)+1); ?></center></font></div></td>

  <?php
      }
  $c++;
   ?>


Donc en dessous de ce tableau j'ai mis une ligne congés et c'est dans cette ligne que veux qu'apparaissent le nombre de conges qui lui reste. Sachant que j'ai un champ dans contrats qui dit combien de jours il a droit avec ce contrat.

Au départ j'avais fait celà :

<?
   $total=$donnees['Nbre_jours']-$nbjours
   ?>


Mais il ne m'a calculée qu'avec la dernière saisie.
0
Webmastore Messages postés 100 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 30 janvier 2014 17
5 févr. 2009 à 10:21
Crée une variable dans ta boucle qui s'incrémente au fur et a mesure :

<?php
$c = 0;
$totaljoursferies = 0;
while($boucle = mysql_fetch_assoc($resultat))

{

$ligne1="#007fe0" ;
$ligne2="transparent" ;
$couleur = ($c % 2 == 0) ? $ligne1 : $ligne2; $couleur2 = ($c % 2 == 0) ? "white" : $ligne1;


?>
<p>
<tr>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font color="<?php echo($couleur2); ?>"><b><center><?php echo $boucle["DATE_FORMAT(Date_debut,'%d-%m-%Y')"]; ?></center></font></div></td>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font color="<?php echo($couleur2); ?>"><b><center><?php echo $boucle["DATE_FORMAT(Date_fin,'%d-%m-%Y')"]; ?></center></font></div></td>
<td bgcolor="<?php echo($couleur); ?>" width="5%"><div id="font"><font color="<?php echo($couleur2); ?>"><b><center><?php echo $nbjours = round((strtotime($boucle["datef"]) - strtotime($boucle["dated"]))/(60*60*24)+1); ?></center></font></div></td>

<?php
$totaljoursferies = $totaljoursferies +($donnees['Nbre_jours']-$nbjours);

}
$c++;
?>
0
bisevac Messages postés 15 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 19 février 2009
5 févr. 2009 à 10:38
En suivant le code que tu as rajouté, il me sort toujours 22 au lieu de 19.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bisevac Messages postés 15 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 19 février 2009
5 févr. 2009 à 11:43
Il fallait juste déclarer la variable :

$totaljours=$donnees['Nbre_jours'] ;


Puis mettre ce calcul dans la boucle

$totaljours=$totaljours-$nbjours;


Voilà !
0