Probleme avec mon strotime...

Résolu/Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 26 mars 2014 à 14:00
 Utilisateur anonyme - 26 mars 2014 à 16:10
Voila mon problème :
Je suis en train de créer un moteur de recherche qui permet à l'utilisateur de faire une recherche sur les dates (soit par mois soit par année)entre autres. Le soucis viens du faites qu'a partir du moment ou on ne rentre pas un mois du premier if le strtotime me retourne systématique la valeur 1391209200 ou plus selon le jour mais ça équivaut de toute façon au 1970/01/01 et donc pas la date entrée...
Voici le code:

$yearpost=$_POST['an'];
$moispost=$_POST['mois'];
$datedeb = "$yearpost-$moispost-1";
$datedebstr = strtotime ($datedeb);
if ($moispost==1 or $moispost==3 or $moispost==5 or $moispost==7 or $moispost==8 or $moispost==10 or $moispost==12) {
$datefin = "$yearpost-$moispost-31";
$datefinstr = strtotime ($datefin);
} elseif ($moispost==2) {
if (date("L", mktime(0, 0, 0, 1, 1, $yearpost)) == 1) {
$datefin = "$yearpost-$moispost-29";
$datefinstr = strtotime ($datefin);
}
else {
$datefin = "$yearpost-$moispost-28";
$datefinstr = strtotime ($datefin);
}
} else {
$datefin = "$yearpost-$moispost-30";
$datefinstr = strtotime ($datefin);
}

La date d'entré est toujours la valeur mois à laquelle je rajoute 01 et la date de sotie moi + x jours en fonction du mois...

4 réponses

Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
26 mars 2014 à 15:10
petit up...
0
Utilisateur anonyme
26 mars 2014 à 15:33
Bonjour

Je ne vois pas où est ton problème, j'ai essayé ton script et il a l'air de bien marcher.
Et la valeur 1391209200 ne correspond pas au 1970/01/01 (début de l'ère UNIX = 0), mais au 1er février 2014.
Le problème vient peut-être des valeurs que tu passes dans $_POST['an'] et $_POST['mois'] ?
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
26 mars 2014 à 15:44
Non en faite grâce à toi de manière indirecte j ai repéré ma connerie...
je faisais
$datefinbis =date("Y-m-d", $datefin);
$datedebbis=date("Y-m-d", $datedeb);

à la place de
$datefinbis =date("Y-m-d", $datefinstr);
$datedebbis=date("Y-m-d", $datedebstr);

Note que le problème se pose sur autre chose maintenant...
Je vais essayer de voir d'où viens mon soucis avant de remettre un poste ici
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
26 mars 2014 à 16:06
bon je ferme ici et je relance dans sql j ai un soucis sur ma requête que je n'avais pas repéré en faite....
Merci pour ton aide
0
Utilisateur anonyme
26 mars 2014 à 16:10
de rien :-)
0