Menu

Total d'une colonne [Résolu/Fermé]

Messages postés
15
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
19 février 2009
- - Dernière réponse : 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.
Afficher la suite 

5 réponses

Messages postés
104
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
30 janvier 2014
13
0
Merci
Bonjour,

Oui c'est surement possible mais sans connaitre comment est construite ta base difficile de t'aider
Messages postés
15
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
19 février 2009
0
Merci
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.
Messages postés
104
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
30 janvier 2014
13
0
Merci
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++;
?>
Messages postés
15
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
19 février 2009
0
Merci
En suivant le code que tu as rajouté, il me sort toujours 22 au lieu de 19.
Messages postés
15
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
19 février 2009
0
Merci
Il fallait juste déclarer la variable :

$totaljours=$donnees['Nbre_jours'] ;


Puis mettre ce calcul dans la boucle

$totaljours=$totaljours-$nbjours;


Voilà !