Periode entre deux dates

[Résolu]
Signaler
Messages postés
26
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
17 mars 2008
-
Messages postés
1
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
4 décembre 2010
-
Bonjour à tous,

j'ai encore un petit soussis...
Voila, j'ai une table qui se présente sous la forme suivante :

        arret
-----------------
  numero_arret
numero_personne  ----------> ne sert à rien dans cette situation
    date arret     --------------> format : date

J'ai un formulaire de la forme suivante :
                       ______       ______
a été arrété du |______| au |______|   (ce sont des saisies de texte)

Je souhaitrai pouvoir insérer chaque jour entre la période que l'utilisateur saisie, dans ma base de donnée, c'est à dire écrire une ligne : un jour. Si la période est de 365 jours, cela fera 365 lignes .

Je pense qu'il faut utiliser des conditions mais la mon cerveau sature .

Merci d'avance.

6 réponses

Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
regarde du cote des mktime peut etre je crois que j'avais un code de ce genre si je le retrouve je te l'envois


Personne ne peut se permettre de juger l'autre....
Messages postés
21
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
13 octobre 2008

Bonjour,

Je ne sais pas si c'est la meilleure solution mais elle te renvoie le timestamp sur la période demandée
de chaque jour:

<?php

$date1 = "champ2";
$date2 = "champ1";

//Extraction des données
list($jour1, $mois1, $annee1) = explode('-', $date1);
list($jour2, $mois2, $annee2) = explode('-', $date2);

//Calcul des timestamp
$timestamp1 = mktime(0,0,0,$mois1,$jour1,$annee1);
$timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2);

$date_extract = $timestamp2;

for ($i=1;$i<=abs($timestamp2 - $timestamp1)/86400;$i++) {
$date_extract = strtotime("+1 day",$date_extract).'
';
echo $date_extract;
}
?>



Bonne soirée
Messages postés
26
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
17 mars 2008

Ok merci bien pour les réponses je vais essayer ça plus tard.

MERCI encore!!!
Messages postés
26
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
17 mars 2008

Bonjour,

Je viens d'essayer ton code que j'ai bien compris mais il y a un petit problème au niveau du mktime(). Il me met comme erreur : " mktime() expects parameter 5 to be long ". je saisie pourtant la date de la façon suivante 12/05/2007. J'ai juste modifier dans ton code le nom des champs et dans le explode j'ai remplacé "-" par "/". Ca serai sympatique de m'expliquer d'où vient mon problème.

Merci d'avance.
Messages postés
26
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
17 mars 2008

C'est bon j'ai résolu mon problème, voici le code :

$date1 = $_POST['dateDu'];
      $date2 = $_POST['dateAu'];

      //Extraction des données

      list($jour1, $mois1, $annee1) = explode('/', $date1);
      list($jour2, $mois2, $annee2) = explode('/', $date2);

      //Calcul des timestamp

      $timestamp1 = mktime(0,0,0,$mois1,$jour1-1,$annee1);
      $timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2);
      $date_extract = $timestamp1;

      for ($i=1;$i<=(($timestamp2 - $timestamp1)/86400);$i++)
      {
       $date_extract = strtotime("+1 day",$date_extract);
       $date_essai = date('Y-m-d',$date_extract).'
';
       echo $date_essai;
      }

Si il y a des question MP moi ;)

Bonne journée à tout le monde
Messages postés
1
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
4 décembre 2010

Bonjour,
- cvp, je veux rechercher un code php qui calcule le période entre date début et date fin si le période est finie , message d'alerte le client non payé..