Eléphant du PHP |
451 Messages
09 oct. 2006, 10:17
Saut,
J'avais commencé à te répondre vendredi mais je n'ai pas eu le temps de finir et je n'était pas là ce week-end...
Comme te l'as dit sadeq, tu ne dois pas traiter les dates comme des chaines de caractères.
La fonction mktime me semble la plus adaptée dans ton cas voici un exemple de formulaire qui de donne les deux comparaisons (par chaîne et par date) :
echo "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"post\" name=\"formulaire\">";
echo "<BR><INPUT TYPE=TEXT NAME=\"DATE1\" VALUE=\"".$_POST[DATE1]."\">";
echo "<BR><INPUT TYPE=TEXT NAME=\"DATE2\" VALUE=\"".$_POST[DATE2]."\">";
echo "<BR><INPUT TYPE=SUBMIT>";
echo "</form>";
echo "<BR>DATE1=".$_POST[DATE1]." ".strtotime($_POST[DATE1]);
echo "<BR>DATE2=".$_POST[DATE2]." ".strtotime($_POST[DATE1]);
echo "<BR>Comparaison par chaîne : <BR>";
if ($_POST[DATE1] > $_POST[DATE2]) {
echo $_POST[DATE1]." > ".$_POST[DATE2];
}
else {
echo $_POST[DATE1]." < ".$_POST[DATE2];
}
echo "<BR>Comparaison par date : <BR>";
// On commence par extraite jour moi année
list($j1,$m1,$a1)=split("/",$_POST[DATE1]);
list($j2,$m2,$a2)=split("/",$_POST[DATE2]);
// la commande mktime à besoin des herures minutes secondes (on met 0)
if (mktime (0,0,0,$m1,$j1,$a1) > mktime (0,0,0,$m2,$j2,$a2)) {
echo $_POST[DATE1]." > ".$_POST[DATE2];
}
else {
echo $_POST[DATE1]." < ".$_POST[DATE2];
}
J'espère que ça t'aidera.
Modifié en dernier par
jpaul le 09 oct. 2006, 14:30, modifié 1 fois.
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum
