begin process at 2012 05 31 04:18:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

php+calcul+nbre heure


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

php+calcul+nbre heure

mercredi 22 avril 2009 à 18:52:27 | php+calcul+nbre heure

pandouta08

bonjour,
je voudrais savoir comment je peux calculer le nombre d'heures entre 2 dates de la meme journée .j'ai une date sortie et une date entrée de type datetime je veux avoir la différence entre ces 2 dates afin d'afficher le nombre des heures ecoulés.
voici un partie de mon code :
while ($row = mysql_fetch_array($resultb)) {
   echo '<tr>';
   echo '<td align="center" >'.$row['id_user'].'</td>';
   echo '<td align="center" >'.$row['nom'].'</td>';
   echo '<td align="center">';
     $query = "select * from presence where id_user=".$row['id_user'];
        $result2 = mysql_query($query) or die( mysql_error());
  while ($row2 = mysql_fetch_array($result2)) {
   echo $row2['entree'].' '.$row2['sortie'].'<br>';
  }
  echo "</td>";
  
  
  echo '<td align="center">';
  
  $query = "select * from presence where id_user=".$row['id_user'];
  $result2 = mysql_query($query) or die( mysql_error());
  while ($row2 = mysql_fetch_array($result2)) {
  $diff=mktime($row2['sortie']-$row2['entree']);
  echo ($diff).'<br>';
  }
  echo '</td></tr>';
  
  }
  ?>
s'il vous plait pourriez vous m'aider?
merci
jeudi 23 avril 2009 à 01:56:53 | Re : php+calcul+nbre heure

Arto_8000

Ce qu'il faudrait d'abord savoir c'est quelle genre de valeur se trouve dans ton champ "entree" et "sortie". C'est une valeur calculé à partir de quoi ? la fonction time ? l'heure de la journée ? la fonction date dans mysql ? autre chose ?
jeudi 23 avril 2009 à 10:06:31 | Re : php+calcul+nbre heure

pandouta08

bonjour,
j'ai une table sql "presence" qui contient les champs suivants:
id_presence  int
id_user  int
entree dateTime
sortie  dateTime 
mon probléme consiste à:
comment peut -t-on  calculer le nbre d'heures entre la date sortie et la date entree tout en affichant ceux ci dans la colonne nbre d'heures???
voici le code :

<html><head><style type="text/css">
*{
 margin: 0px;
 padding: 0px;
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 11px;
}
body{
 
}
a{
 text-decoration: none;
 color: #200;
}
ul, li{
 list-style: none;
}
.mon_onglet{
 float: left;
 padding: 2px 10px;
 margin-right: 5px;
 color: #FFFFFF;
 background: #000066;
 border: 1px solid ##0066FF;
 cursor: pointer;
 margin-bottom: -1px;

.mon_onglet:hover{
 background: #0066FF;
}    
.mon_onglet_selected{
 float: left;
 padding: 2px 10px;
 margin-right: 5px;
 color: #FFFFFF;
 background: #0066FF;
 border-top: 1px solid #68ce3e;
 border-right: 1px solid #0066FF;
 border-left: 1px solid ##0066FF; 
 border-bottom: 1px solid ##0066FF; 
 cursor: pointer; 
 margin-bottom: -1px;
}     
.clear{
 clear: both;
}
.mon_contenu{
 color: #000000;
 background: #a3t222;
 border: 2px solid #0099FF;
 padding: 10px;    
}
#mes_contenus, #mes_onglets{
 width: 900px;
}
</style>
<script language="javascript">
function changeOnglet(_this){
 var getOnglets  = document.getElementById('mes_onglets').getElementsByTagName('li');
 for(var i = 0; i < getOnglets.length; i++){
  if(getOnglets[i].id){
   if(getOnglets[i].id == _this.id){
    getOnglets[i].className = 'mon_onglet_selected';
    document.getElementById('c' + _this.id).style.display    = 'block';
   }
   else{
    getOnglets[i].className = 'mon_onglet';
    document.getElementById('c' + getOnglets[i].id).style.display  = 'none';
   }
  }
 }   
}
</script></head></html>
<?php
$host = "localhost";

$user = "root";

$bdd = "dotproject";

$passwd  = "";

mysql_connect($host,$user,$passwd) or die("Connexion impossible");

mysql_select_db($bdd) or die("Echec de selection de la base");
?>

<style type="text/css">
<!--
.Style1 {font-weight: bold}
.Style2 {font-weight: bold}
.Style3 {color: #FFFFFF}
-->
</style>

 

<?php

$today = date("Y:m:d");
$mois_en_cours=date(m);

$query = "select* from utilisateur";

$result = mysql_query($query) or die( mysql_error());

//$arrays = mysql_fetch_assoc($result);

$querya = "SELECT * FROM presence, utilisateur WHERE WEEK(entree, 3) = DATE_FORMAT(NOW(), '%u')order by entree; ";
$resulta = mysql_query($querya);

 

$queryb = "SELECT * FROM utilisateur";
$resultb = mysql_query($queryb);

?>
<style type="text/css">
<!--
.Style1 {
 color: #FFFFFF;
 font-weight: bold;
}
.Style2 {
 color: #EBE9ED;
 font-weight: bold;
}
-->
</style>
<br /><br />
<div id="mes_onglets">
 <ul>
  <li class="mon_onglet_selected Style3" id="o_1" onclick="changeOnglet(this);">Par jour</li>
  <li class="mon_onglet Style3" id="o_2" onclick="changeOnglet(this);">Par semaine</li>
  <li class="mon_onglet Style3" id="o_3" onclick="changeOnglet(this);">Par mois</li>
  
  <div class="clear"></div>
 </ul>
</div>
<div id="mes_contenus">
 
   
   
   
    <div id="co_1" class="mon_contenu"><table width=800 border="1">
  <tr>
  <td align="center" bgcolor="#000066"><span class="Style1">Identifiant</span></td>
    <td align="center" bgcolor="#000066"><span class="Style1">Utilisateur</span></td>
  </tr>
 
    <?php           
  while ($row = mysql_fetch_array($result)) {
  echo '<tr>';
  echo '<td align="center">'.$row['id_user'].'</td>';
  echo '<td align="center">'.$row['nom'].'</td>';
  echo '</tr>';
  }
  ?>
</table></div>

 

 <div id="co_2" class="mon_contenu" style="display: none;"><table width=800 border="1">
  <tr>
  <td align="center" bgcolor="#000066"><span class="Style1">Identifiant</span></td>
  <td align="center" bgcolor="#000066"><span class="Style1">Utilisateur</span></td>
  <td align="center" bgcolor="#000066"><span class="Style2">Nombre d'heures</span></td>
  </tr>
 
    <?php
  while ($row = mysql_fetch_array($resulta)) {
  echo '<tr>';
  echo'<td align="center">'.$row['id_user'].'</td>';
  echo'<td align="center">'.$row['nom'].'</td>';
  echo'</tr>';
  }
  ?>
</table></div>
 <div id="co_3" class="mon_contenu" style="display: none;"><table width=800 border="1">
  <tr>
  <td align="center" bgcolor="#000066"><span class="Style1">Identifiant</span></td>
    <td align="center" bgcolor="#000066"><span class="Style1">Utilisateur</span></td>
    <td align="center" bgcolor="#000066"><span class="Style1">Entree/sorite</span></td>
    <td align="center" bgcolor="#000066"><span class="Style1">nb</span></td>
  </tr>
 
    <?php
  while ($row = mysql_fetch_array($resultb)) {
   echo '<tr>';
   echo '<td align="center" >'.$row['id_user'].'</td>';
   echo '<td align="center" >'.$row['nom'].'</td>';
   echo '<td align="center">';
     $query = "select * from presence where id_user=".$row['id_user'];
        $result2 = mysql_query($query) or die( mysql_error());
  while ($row2 = mysql_fetch_array($result2)) {
   echo $row2['entree'].' '.$row2['sortie'].'<br>';
  }
  echo "</td>";
  
  
  echo '<td align="center">';
  
  $query = "select * from presence where id_user=".$row['id_user'];
  $result2 = mysql_query($query) or die( mysql_error());
  while ($row2 = mysql_fetch_array($result2)) {
  $diff=mktime($row2['sortie']-$row2['entree']);
  echo ($diff).'<br>';
  }
  echo '</td></tr>';
  
  }
  ?>
</table></div>
</div>
merci d'avance.

jeudi 23 avril 2009 à 21:56:51 | Re : php+calcul+nbre heure

Arto_8000

Habituellement quand on ne sait pas comment manipuler certaines données, on commence par regarder la documentation sur le sujet.

[ Lien ]

Ce que la documentation dit c'est que les données sont retournés sous le format : "AAAA-MM-JJ HH:MM:SS". Si tu veux comparer seulement les heures, il suffit d'extraire la bonne partie de la chaine.

<?php
$dt = explode(':',$row2['entree']);
$heure1 = $dt[1];

$dt = explode(':', $row2['sortie']);
$heure2 = $dt[1];

$nombreHeure = $heure2-$heure1;
?>


Cette discussion est classée dans : mysql, query, echo, row, row2


Répondre à ce message

Sujets en rapport avec ce message

recuperer une variable d'un switch [ par ASPerix ] Bonjour,Je n'arrive pas a transmettre une variable hors de mon switchj'utiliseune base MySQLswitch ($page) { case "1" : $query="select * from toto whe SQL [ par dudu134 ] Dudu134Bonjour à tous le forum,Voici mon code :$query = mysql_query('SHOW COLUMNS FROM nom_logiciels') or die(mysql_error());while ($row = mysql_fetch problème de variable dans une requete mysql [ par Moritus ] bonjour, j'ai quelques petits problèmes avec un bout de code. habituellement j'utilise $data['texte'] pour récupéré le contenu d'un champ de ma t script site [ par killeur ] Bonjour voila je suis débutant en php et je suis en train de codé mon propre site mai voila je block sur un script voici le script stoker un résultat dans un menu déroulant [ par marc660 ] Bonjour, Je voudrais savoir comment stoker le résultat de ce script dans un menu déroulant (liste). Bien sur il y a plusieurs clients donc si c'est po affichage date mysql [ par 01cod10 ] Salut,J'aimerai afficher la date sous cette forme Lundi 13 Aout 2007Voici le script que j'utilise mais je l'ai en anglais$host = 'localhost';$user = ' commentaire [ par csmgroup ] Bonjour à tous,je viens vers vous car j'ai un petit soucis.J'ai instalé un script de news-commentaires, au niveau base de données, tout fonctionne. Le Paginations [ par slhuilli ] bonjourje ne sais pas apres de longues recherches comment je pourrais paginer 10 par 10 mes réponses issues d'une select * .Voici ce que j'ai :     se probleme affichage données mysql [ par maxxou56 ] je souhaiterais afficher de sdonnées de ma base de données my sql mais lorsque je teste ma page voila ce qui s'affiche: '; echo ''.$row["titre_album" Supprimer des donnees avec des CheckBox [ par Santana123451 ] Bonjour a tous,je traite la partie historique de mon site depuis des jours et je n'arrive plus a résoudre ce probleme de checkbox:voila le probleme :j


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales