[PHP / MYSQL] comparer simplement 2 dates au format datetime

comparer simplement 2 dates au format datetime [PHP / MYSQL] - PHP - Programmation

Marsh Posté le 01-06-2003 à 23:47:42    

voila j'extrait de ma base mySQL 2 dates au format DATETIME
je pensais qu'un simple ">" pourrait me permettre de les comparer mais ca marche pas
d'ou mes questions :  
- quand je récupère ma datetime en php, la variable est de quelle type ? string ?
- comment faire pour comparer mes 2 dates :)
 
merci


Message édité par evr le 03-06-2003 à 04:33:22
Reply

Marsh Posté le 01-06-2003 à 23:47:42   

Reply

Marsh Posté le 01-06-2003 à 23:54:56    

- utiliser un timestamp unix
- tu peux aussi faire une petite fonction pour en faire un timestamp  
datetime au format 0000-00-00 00:00:00  
tu vires les -, espace et : et c'est gagné  [:spamafote]  
 
sinon peut-être qu'il existe une fonction mysql pour ça. (si ca existe ca m'interesse)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 01-06-2003 à 23:58:10    

oue je pourrais gérer à la mano mais j'veux dj savoir s'il existe une fonction ki le ferais déjà.. jvé pas réinventer la roue :]

Reply

Marsh Posté le 02-06-2003 à 02:57:23    

Reply

Marsh Posté le 02-06-2003 à 12:23:36    

je crois que mysql te renvoie le datetime en char.
si tu veux faire ta comparaison autant le faire au moment de ta requete, sinon, comme ils l ont dit precedemment, tu "explode" le datetime, tu cree les dates mais en php ( timestamp, c le nombre de secondes depuis le 1er janvier 1970, pourquoi cette date ? mystère... ) et tu pourras faire ton test < ou >.

Reply

Marsh Posté le 02-06-2003 à 22:18:10    

mm ok fo exploder et checker "à la mano" y'a pas de fonction pré-faites..
mais si le php récupère dans une string, comment se fait-il ke je peux pas faire de test "<" ou ">"

Reply

Marsh Posté le 02-06-2003 à 22:24:12    

[:dawa] parce que tester si "chien" est supérieur à "disquette" ca n'a pas de sens  :sarcastic:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-06-2003 à 22:44:27    

Tester directement avec < ou > 2 chaines représentant un datetime au format 0000-00-00 00:00:00, ca marche bien en PHP :)  
 
Sinon, tu peux le faire directement dans la requête [:proy]

Reply

Marsh Posté le 02-06-2003 à 23:36:16    

simogeo a écrit :

[:dawa] parce que tester si "chien" est supérieur à "disquette" ca n'a pas de sens  :sarcastic:  


le php compare les chaines de caractere (code ASCII des lettres)
 
mrBebert > oue c bien ce ki me semblait mais moi ca marche pas.. dc je pense ke c pas des string..
mais je sais pas kel format c'est ?! :??:

Reply

Marsh Posté le 03-06-2003 à 10:06:40    

Bizarre :??:  
 
J'ai un truc comme ca, qui fonctionne très bien (champs datetime dans la base) :

Code :
  1. $r = mysql_fetch_array($res);
  2. $datePrev = $r['datePrev'];
  3. $dateReelle = $r['dateReelle'];
  4. if ($datePrev > $dateReelle) {
  5.    ...
  6. } else {
  7.    ...
  8. }


 
edit : en fait non, c'est pas des champs datetime, mais une concatenation. Ca vient peut être de là [:figti]  
SELECT concat(datePrev, ' ', heurePrev) ...


Message édité par mrbebert le 03-06-2003 à 10:10:14
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed