IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Calcul d'heure d'une colonne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 24
    Par défaut Calcul d'heure d'une colonne
    voici mon code,d'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    thead>
          <th>Nom </th>
          <th>Date debut </th>
          <th>Date fin </th>
        	<th>Heure debut</th>
        	<th>Heure fin</th>
        	<th>Jour à 50%</th>
            <th>Jour à 75%</th>
            <th>Jour à 150%</th>
        </thead>
        <tbody>
     <?php while($sa = mysql_fetch_array($res)) { ?>
        	<tr>
            <td><?php  echo $sa['nom'];?></td>
     
    <td><?php   echo date("d-m-20y",strtotime($sa['datedebut']));?></td>
    <td><?php  echo date("d-m-20y",strtotime($sa['datefin']));?></td>
        		<td><?php  /*echo $sa['datedebut'];*/echo date('H:i',strtotime($sa['datedebut']));
            ?></td>
        		<td><?php /* echo $sa['datefin'];*/echo date('H:i',strtotime($sa['datefin']));?></td>
        		<?php 
     
     
           $date1 =date_create($sa['datedebut']);
             $date2 = date_create($sa['datefin']);
             $HS=$calculer_HS($date1,$date2);
     ?> 
     <td>
       <?php
     
       echo  $HS['Type50']*3600;
     
       ?>
     </td>
                <td>
    <?php 
    echo $HS['Type75'];
    ?>
            </td>
                     <td>
             <?php 
          echo   $HS['Type150'];
             ?>
            </td>
     
        	</tr>
     
    <?php }
    donc comment je peut calculer tous le type50 qui sont dans une seule colonne

  2. #2
    Membre éprouvé
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Billets dans le blog
    3
    Par défaut
    Bonjour,
    Je suppose que la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $HS=$calculer_HS($date1,$date2);
    est en réalité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $HS=calculer_HS($date1,$date2);
    et est donc un appel de la fonction "calculer_HS" qui contient 2 paramètres formels et qui doit retourner un tableau. Si c'est bien ça, peux t'on voir le code source de cette fonction.

    Bien à toi,

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 24
    Par défaut
    merci Michaël
    voila mon fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
     
    $calculer_HS = function($date_debut, $date_fin) use ($type150, $type75, $type50, $jour_ferie) {
        $total50 = 0;
        $total75 = 0;
        $total150 = 0;
     $type = "";
        $heure_courante = $date_debut;
    $date_fin1=$date_fin->format(' d-m-y H:i:s');
     $date_fin2=strtotime($date_fin1)-3600;
     $date_fin3=date('d-m-y H:i:s',$date_fin2);
     $date_fin4=date_create($date_fin3);
        while ($heure_courante <= $date_fin4) {
    if ($type150($heure_courante)) {
                $total150++;
                $type = "150%";
            }
            else if ($type75($heure_courante)) {
                $total75++;
                $type = "75%";
            }
            else if ($type50($heure_courante)) {
                $total50++;
                $type = "50%";
            }
            else {
                throw "Erreur";
            }
    $heure_courante = date_add($heure_courante, date_interval_create_from_date_string("1 hour"));
        };
     
     
     return array("Type50" => $total50, "Type75" => $total75, "Type150" => $total150);
     
    };
    comment je peut calcule le type de 50 et type de 75.chaque type est afficher dans une seul colonne

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    @Micmaya : non, non la syntaxe $HS=$calculer_HS($date1,$date2); est correcte, vu qu'il utilise uneclosure. Mais je crois que c'est la 1ere que je vois être utilisée pour autre chose qu'une fonction callback.

    @abdourazak : Je ne suis pas sûre d'avoir compris la question : tu veux récupérer toutes les valeurs calculées pour le type 50 ?

    Au passage, ce serait une bonne idée de refaire l’indentation de ton code, pasque là ça part dans tous les sens.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 24
    Par défaut
    Doc1.docx
    voila mon affichage,je voulais s'addition tous les heure de type50,type75 et type150
    au dessous de la tableau.comment on peut faire

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Il faut initialiser le tableau de somme à l'extérieur de la boucle et faire les sommes au fur à mesure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     // init du tableau des totaux
     $HS_total = array('Type50' => 0, 'Type75' => 0, 'Type150' => 0);
     while($sa = mysql_fetch_array($res)) { ?>
    [...]
    	<?php
    		echo  $HS['Type50']*3600;
    		// on ajoute la valeur à la somme
    		$HS_total['Type50'] += $HS['Type50'];
    	?>
    [...]
    <?php } ?>
    <!-- ligne des totaux -->
    <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td><?php echo $HS_total['Type50'];?></td>
    <td><?php echo $HS_total['Type75'];?></td>
    <td><?php echo $HS_total['Type150'];?></td>
    </tr>
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Valeur calculée:retirer l'heure d'une colonne date
    Par gracouille dans le forum SharePoint
    Réponses: 1
    Dernier message: 30/05/2008, 11h35
  2. Calcul au niveau d'une colonne d'un DBGrid
    Par soror dans le forum Débuter
    Réponses: 6
    Dernier message: 21/08/2007, 07h51
  3. [Tableaux] calcul de lignes dans une colonne
    Par carmen256 dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2007, 19h31
  4. comment calculer la somme d'une colonne d'un dbgrid
    Par kirty dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/07/2006, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo