begin process at 2012 05 31 05:57:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

PHP probleme de boucle avec dates


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

PHP probleme de boucle avec dates

jeudi 17 mars 2005 à 18:15:46 | PHP probleme de boucle avec dates

infosub

Bonjour,
je suis confronté à un petit problème de boucle pour ajouter plusieurs jour à une date..

le script ci-dessous calcule le nombre de jours entre deux dates, puis l'ajoute à la date de depart.
ex: entre 2005-02-28 et 2005-03-07 la diference est de 7 jours donc la date affiché est  2005-03-07

Pour ça c'est bon, par contre je voudrais pouvoir incrementer d'un jour à chaque fois la date de depart et recuperer toutes les dates intermediares pour les insèrer dans une table MYSQL (  champ date)  au même format.
c'est à dire je devrais avoir dans mon champ Date les  8 enregistrements dans l'ordre suivant :

2005-02-28
2005-03-01
2005-03-02
2005-03-03
2005-03-04
2005-03-05
2005-03-06
2005-03-07


Donc j'ai mis une boucle qui compare et incremente de 1  (en commençant par 0) à chaque fois.

Le problème c'est que evidenment ça me donne une erreur (Fatal error: Cannot redeclare dateop() (previously declared in........))!

Donc question   comment je peux faire pour recuperer toutes mes dates sur une (ou plusieurs variables) histoire de pouvoir les insèrer après dans ma table!

Voila j'espere que c'est assez clair..

Merci
Rafael

PS : voici le script :


$jour="28";
$mois="02";
$an ="2005";
$jour2="07";
$mois2="03";
$an2="2005";


function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2){ // $calcule la dierence de jours entre les deux dates
 $timestamp2 = mktime(0, 0, 0, $mois, $jour, $an);
  $timestamp = mktime(0, 0, 0, $mois2, $jour2, $an2);
 
  $diff = floor(($timestamp - $timestamp2) / (3600 * 24));
  return $diff;
}

$nbr_jours = diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2);// recupere nombre de jours sur variable $nbr_jours

echo" ça fait: $nbr_jours";//verif  nombre de jours sur variable $nbr_jours

for ($i = 0; $i <= $nbr_jours ; $i++) {  // on fait une boucle si ajout est = ou sup à 0
echo "<p>ça donne..$i</p>";//verif  si la boucle fonctionne

function dateop($jour , $mois , $an , $i){  // $i correspond au nombre de jour à ajouter a la date

 $timestamp = mktime(0, 0, 0, $mois, $jour+$i, $an);// aditione la diference de jours  à la date de debut
 return (date("Y-m-d", $timestamp));

$temp = dateop($jour , $mois , $an , $i);

echo" donc  ça devrait faire : $temp";
}

}


 

jeudi 17 mars 2005 à 20:42:05 | C'est bon j'ai trouvé

infosub

Re-bonjour,

voila c'est bon tout fonctionne ..

Voici le script au cas ou ça pourais intereser quelqu'un !

 

$jour="18";
$mois="03";
$an ="2005";
$jour2="07";
$mois2="04";
$an2="2005";


function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2){ // $calcule la dierence de jours entre les deux dates
 $timestamp2 = mktime(0, 0, 0, $mois, $jour, $an);
  $timestamp = mktime(0, 0, 0, $mois2, $jour2, $an2);
 
  $diff = floor(($timestamp - $timestamp2) / (3600 * 24));
  return $diff;
}

$nbr_jours = diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2);// recupere nombre de jours sur variable $nbr_jours


for ($i = 0; $i <= $nbr_jours ; $i++) {  // on fait une boucle si ajout est = ou sup à 0
$timestamp = mktime(0, 0, 0, $mois, $jour+$i, $an);
$return=date("Y-m-d", $timestamp);
$query=("INSERT INTO dates (ndate,news,newsl) VALUES ('$return','test','test')");    
MYSQL_QUERY($query) or die("Erreur, contactez le webmaster");

}

mardi 20 octobre 2009 à 19:24:36 | Re : PHP probleme de boucle avec dates

zaptaf




Ca semble excellent mon cher, moi ca marche, j'essaies des trucs, pis ca donne des doublons, le tiens macche très bien.

bravo, un gars qui s'y connait. Si tu as trouvé des bugs et tu as une meilleur version, tu me le fais savoir SVP, car j'entre ca dans une grosse app pis je ne dois faire de gaffe tsé, merci


Cette discussion est classée dans : date, jour, mois, an, jours


Répondre à ce message

Sujets en rapport avec ce message

Calendrier / Agenda [ par kitgraphic ] Voilà j'ai un calendrier avec des évènement, tout marche bien , mais je voudrais que le jour actuel (la cellule ou il se trouve soit d'une autre coule Afficher les jours de la semaine... [ par stevethx27 ] Bonjour,je tente (en vain) d'afficher sur une ligne les jours de la semaine. J'ai utilisé un script trouvé sur le site que j'ai modifié et ça donne ma traduction date [ par kenny18 ] salut,J'ai un champ type "datetime" dans une table. Je vais rechercher cette date dans mon code pour l'afficher. La date = $row[5] ci-dessous. Mon seu Toujours a la recherche d'aide pour les dates !!! [ par nagrom_om ] Bon je rééxplique mon probleme. Je choisi une date de depart et une date d'arrivée (demande de congés) je dois calculer le nombre de jours ouvrables p Calendrier Location [ par piep14 ] Bonjour le forum, j'aurais une question à vous soumettre car je bloque. J'ai fait un calendrier avec le code que je vous présente ci après. Le trucs, Calendrier - probleme ! [ par xavier1707 ] bonjour, je souhaite créer un calendrier sur une page en php... pour afficher le mois en cours, pas de problème, tout se passe bien... par contre, la probléme calcule dimanche [ par sensoide ] Bonjour a tous,voici donc une source que j'ai pris sur phpcs, mais il y a comme qui dirait un probléme pour le calcul des dimanches et je n'arive pas Calcule détaillé et précis de l'age [ par apz ] Salut,1) j'ai les deux dates suivantes :$tdeb = "1975-06-18";$tfin = "2003-08-03";Je veux calculer l'age en détail.au première vue, la différence entr Gestion de dates [ par tryoruda ] SalutJe souhaite quelques tuyaux pour gérer les dates :- un formulaire avec choix du jour / du mois / de l'année envoie vers un seul champ Mysql date- Pb avec Date() & mktime() [ par LordDaedalus ] BonjourJe suis en train de créer un agenda en utilisant les fonctions date() et mktime().j'utilise $Jour = Date("d",mktime(Date("h")-24*10*7)Le jour e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,702 sec (4)

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