noxe

  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
noxe
le 23/02/2005 à 13:24
Script calcul durée
J'ai voulu utiliser votre script publié à cet adresse: http://www.lephpfacile.com/tips/index.php?p=11 .
Le problème c'est que je suis un débutant en php et en programmation en général. J'ai eu un certain nombre d'erreur c'est pourquoi je vous demande de l'aide.
Voici mon problème :
Je voudrais calculer la durée de sejour pour des individus dans une base de donnée mysql:

J'ai la date d'entrée et la date de sorti sous forme YYYY-MM-DD;
J'ai voulu utiliser les fonctions YEAR(DATE), MONTH(DATE) et DAYOFMONTH(DATE)

Voici où j'en suis :

$connexion = mysql_connect($hote,$utilisateur,$password);
if($connexion>0)
echo "Connexion OK";
else
echo "pas de connexion active";
echo "</BR>";
//connexion à une base
$db = mysql_select_db("ma_base");
if($db>0)
echo "Selection de la base";
else
echo "Impossible de choisir la base";
echo "</BR>";
//prendre la liste des champs de la table


$mysql_result = mysql_query("SELECT ID, NIP, DATE_ENT, DATE_SOR, DAYOFMONTH(`DATE_ENT`), DAYOFMONTH(`DATE_SOR`), MONTH(`DATE_ENT`), MONTH(`DATE_SOR`), YEAR(`DATE_ENT`), YEAR(`DATE_SOR`) FROM ma_base;");
// Déclarer les variables de date

$jour1=DAYOFMONTH(`DATE_ENT`);
$jour2=DAYOFMONTH(`DATE_SOR`);
$mois1=MONTH(`DATE_ENT`);
$mois2=MONTH(`DATE_SOR`);
$annee1=YEAR(`DATE_ENT`);
$annee2=YEAR(`DATE_SOR`);

function facteur($jour , $mois , $annee){
$b=365*$annee;
$c=31*($mois-1);
if (($mois==1) || ($mois==2)){
$d= 0;
$e = intval(($annee -1)/4);
$h = intval(0.75*(intval(($annee-1)/100)+1));
}
else {
$d= intval(0.4*$mois+2.3);
$e = intval($annee/4);
$h = intval(0.75*(intval($annee/100)+1));
}
$result = $jour + $b+ $c - $d +$e -$h;
return $result;
}

function diff_dates_cal_greg($jour1 , $mois1 , $annee1 , $jour2 , $mois2 , $annee2){
$diff = facteur($jour2 , $mois2 , $annee2)-facteur($jour1 , $mois1 , $annee1);
return $diff;
$diff=DUREE_SEJ;
}
//prendre chaque rangée
echo "<TR><TD>ID</TD><TD>NIP</TD><TD>DATE_ENT</TD><TD>DATE_SOR</TD><TD>DUREE_SEJ</TD></TR>\n";
while($row = mysql_fetch_array($mysql_result))
{while (list($key,$val)=each($row))
print "<TR>\n" ;
print "<TD>".$row['ID']. "</TD><TD>".$row['NIP']."</TD><TD>".$row['DATE_ENT']. "</TD><TD>".$row['DATE_SOR']. "</TD><TD>".$row['DUREE_SEJ']."</TD>\n";
print "</TR>\n";
}
//Fermeture de la base
mysql_close($connexion);
echo "Fermetture de connexion";
echo "</BR>";
?>
</TABLE>
</body>
</html>

Sans la partie du script le reste fonctionne; quand je l'ajoute j'ai une erreur de type undefine fonction DAYOFMONTH()
alors que quand je lance le select directement dans mon phpadmin j'ai bien les résultats.

Si vous pouvez m'aider cela m'avancerait vachement.

merci d'avance.
Cordialement

Ses derniers messages sur les forums

forum
noxe
le 23/02/2005 à 18:43
Script calcul durée
Me voila de retour

Je pense que parfois, au lieu de monter sur ses grands chevaux et de faire le grand GURU, il est mieux de se dire qu'un jour on est passé par la case départ comme celui qui est en face de soit et qui pose peut être des questions idiotes. smiley
J'ai le plaisir de vous annoncer que j'y suis arrivé n'en déplaise à certains.
Cela m'a pris la journée mais j'ai quand même une satisfaction infini d'y être parvenu seul.
Salut
noxe
le 23/02/2005 à 13:24
Script calcul durée
J'ai voulu utiliser votre script publié à cet adresse: http://www.lephpfacile.com/tips/index.php?p=11 .
Le problème c'est que je suis un débutant en php et en programmation en général. J'ai eu un certain nombre d'erreur c'est pourquoi je vous demande de l'aide.
Voici mon problème :
Je voudrais calculer la durée de sejour pour des individus dans une base de donnée mysql:

J'ai la date d'entrée et la date de sorti sous forme YYYY-MM-DD;
J'ai voulu utiliser les fonctions YEAR(DATE), MONTH(DATE) et DAYOFMONTH(DATE)

Voici où j'en suis :

$connexion = mysql_connect($hote,$utilisateur,$password);
if($connexion>0)
echo "Connexion OK";
else
echo "pas de connexion active";
echo "</BR>";
//connexion à une base
$db = mysql_select_db("ma_base");
if($db>0)
echo "Selection de la base";
else
echo "Impossible de choisir la base";
echo "</BR>";
//prendre la liste des champs de la table


$mysql_result = mysql_query("SELECT ID, NIP, DATE_ENT, DATE_SOR, DAYOFMONTH(`DATE_ENT`), DAYOFMONTH(`DATE_SOR`), MONTH(`DATE_ENT`), MONTH(`DATE_SOR`), YEAR(`DATE_ENT`), YEAR(`DATE_SOR`) FROM ma_base;");
// Déclarer les variables de date

$jour1=DAYOFMONTH(`DATE_ENT`);
$jour2=DAYOFMONTH(`DATE_SOR`);
$mois1=MONTH(`DATE_ENT`);
$mois2=MONTH(`DATE_SOR`);
$annee1=YEAR(`DATE_ENT`);
$annee2=YEAR(`DATE_SOR`);

function facteur($jour , $mois , $annee){
$b=365*$annee;
$c=31*($mois-1);
if (($mois==1) || ($mois==2)){
$d= 0;
$e = intval(($annee -1)/4);
$h = intval(0.75*(intval(($annee-1)/100)+1));
}
else {
$d= intval(0.4*$mois+2.3);
$e = intval($annee/4);
$h = intval(0.75*(intval($annee/100)+1));
}
$result = $jour + $b+ $c - $d +$e -$h;
return $result;
}

function diff_dates_cal_greg($jour1 , $mois1 , $annee1 , $jour2 , $mois2 , $annee2){
$diff = facteur($jour2 , $mois2 , $annee2)-facteur($jour1 , $mois1 , $annee1);
return $diff;
$diff=DUREE_SEJ;
}
//prendre chaque rangée
echo "<TR><TD>ID</TD><TD>NIP</TD><TD>DATE_ENT</TD><TD>DATE_SOR</TD><TD>DUREE_SEJ</TD></TR>\n";
while($row = mysql_fetch_array($mysql_result))
{while (list($key,$val)=each($row))
print "<TR>\n" ;
print "<TD>".$row['ID']. "</TD><TD>".$row['NIP']."</TD><TD>".$row['DATE_ENT']. "</TD><TD>".$row['DATE_SOR']. "</TD><TD>".$row['DUREE_SEJ']."</TD>\n";
print "</TR>\n";
}
//Fermeture de la base
mysql_close($connexion);
echo "Fermetture de connexion";
echo "</BR>";
?>
</TABLE>
</body>
</html>

Sans la partie du script le reste fonctionne; quand je l'ajoute j'ai une erreur de type undefine fonction DAYOFMONTH()
alors que quand je lance le select directement dans mon phpadmin j'ai bien les résultats.

Si vous pouvez m'aider cela m'avancerait vachement.

merci d'avance.
Cordialement

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours