begin process at 2012 05 31 15:54:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

SOS sur comparaison de dates


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

SOS sur comparaison de dates

vendredi 23 mai 2008 à 14:08:15 | SOS sur comparaison de dates

didine6

Bonjour
Voici un code avec comparaison de date.
Cela fonctionne parfaitement sauf quand $datedeb et $datfin est à cheval sur 2 mois (cf exemples ci dessous).
J'ai du mal utiliser la fonction date ou strtotime ou mktime, mais je ne vois pas où.
Si quelqu'un a le courage de regarder et l'envie de m'aider...ce serait super cool ?

$test=mysql_query("SELECT * FROM congesperiode WHERE numper='$id'");
while($enr=mysql_fetch_array($test)) {                     $datdeb=date("d-m-Y",strtotime($enr['anneedebut']."-".$enr['moisdebut']."-".$enr['jourdebut']));  
$datfin=date("d-m-Y",strtotime($enr['anneefin']."-".$enr['moisfin']."-".$enr['jourfin']));
$i=1;           $jourplusun=date("d-m-Y",mktime(0,0,0,date($enr['moisdebut']),date($enr['jourdebut']+$i),date($enr['anneedebut'])));
// C'est ici que viens le problème, dans le while, si $jourplusun=28-04-2008
// et $datfin=02-05-2008, ben ça ne va pas dans le while ! Pkoi ?
while($jourplusun<=$datfin) {               $jourplusun=date("d-m-Y",mktime(0,0,0,date($enr['moisdebut']),date($enr['jourdebut']+$i),date($enr['anneedebut'])));
if(((datefr2($datedebut))==$datdeb) || ((datefr2($datefin))==$datdeb) || ((datefr2($datedebut))==$jourplusun) || ((datefr2($datefin))==$jourplusun)) {
                    echo "Cette date a déjà été prise";
                    echo "Retour au menu <a href='index.php'>ici</a>";
                    exit;
                }
                else {
                    //echo "ok";
                    $i++;
                }
            }
        }

Didine
vendredi 23 mai 2008 à 14:21:07 | Re : SOS sur comparaison de dates

neigedhiver

Réponse acceptée !
Salut,

En gros, ta question revient à celle-ci :
Pourquoi est-ce que 02052008 est plus petit que 28042008 ? C'est quand même une base des maths, non ?

La solution consiste à utiliser le format américain : 2008-05-02 > 2008-04-28

Une autre solution serait d'utiliser des timestamp unix.


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
vendredi 23 mai 2008 à 14:24:23 | Re : SOS sur comparaison de dates

didine6

Euh non, ma question n'équivaut pas du tout à ce que tu dis, ou laors j'ai mal compris.
Effectivement, ma comparaison de date ne fonctionne pas, et c'est là que je bloque.
J'ai lu un tas de choses sur les timestamp unix, les mktime et autre...mais j'y pige pas grand chose.

Didine
vendredi 23 mai 2008 à 15:14:15 | Re : SOS sur comparaison de dates

didine6

Ok, finalement en passant en date US, cela fonctionne.
Merci.

Didine


Cette discussion est classée dans : date, while, enr, jourplusun, datefr2


Répondre à ce message

Sujets en rapport avec ce message

Boucle While une seule réponse [ par Const4ntine ] Bonjour,J'ai une petite erreur, ou disons que le résultat n'est pas à l'hauteur de mes espérances ;)J'ai une mauvaise connaissance des boucles while d validation date formulaire connexion php filemaker [ par johnchahine ] Bonjour,  je fais un petit point sur le contexte :je travail sur de la publication web de base de données avec filemaker et dreamweaver via un API php Conversion chaine de caractères en date fr avec substr [ par bruno3591 ] Bonjour,Je suis débutant en php. Pouvez-vous me dire si la solution que j'ai trouvé pour convertir ma chaine en date est bonne, trop longue ou autre.. récupérer la valeur d'un champ input pour la traiter en php [ par didine6 ] Bonjour,Voici mon problème.J'ai un champ input avec date de naissance et un champ age.Je voudrais que à la sortie du champ input, le champ âge soit ca libelle du jour a partir d'une date donnée [ par Medgueye ] Bonjour à tousje voudrai savoir s'il y a une fonction en php qui me permet de connaitre le libellé du jour si je connais la date.Exemple:    - si je p date + un nombre de jours [ par matsumato ] Bonjour; j'ai besoin d'aide pour afficher une date après avoir ajouter un nombre quelconque de jours; mais d'abord comment on peut ajouter un nombre d probleme avec l'execution d'un programme [ par dipin ] bonjours!j'ai un probleme j'ai un code (de calendrier) qui ne fonctionne pas sur un serveur free (adresse avec l'exemple http://dipinservice.free.fr) PHP MySQL Requête sur champ DATETIME [ par rom268 ] Bonjour, je dois faire une requête de recherche sur un champ DATETIME. Les dates sont enregistrées sous la forme AAAA-MM-JJ HH:MM:SSCependant lorsque Appel d'un fonction à telle date [ par picolo220 ] Bonjour, je suis actuellement en train de coder une sorte de site de vente aux enchères, mais je me heurte au problème suivant.Comment changer automat code php [ par parrain3000 ] salut j'ai besoin de votre aide au sujet du code php d'une sélection de date sous forme de calendrier c'est à dire j'aierais selectionner une date en


Nos sponsors


Sondage...

Comparez les prix

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 : 1,217 sec (4)

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