Extraire le jour d'une date MySQL - PHP - Programmation
Marsh Posté le 05-05-2006 à 02:51:17
'j' c'est pour récupérer le jour, pour le mois c'est F ou m ou M ou n (cf la doc que tu cites)
au passage, $donnee_mysql[0] est bien un UNIX TIMESTAMP ?
Marsh Posté le 05-05-2006 à 09:04:02
Salut !
Pour récupérer le jour actuel voilà le code :
date("d"); (format : 01 à 31)
ou
date("j"); (format : 1 à 31)
Marsh Posté le 05-05-2006 à 15:25:31
oui pour extraire le jour d'aujourd'hui, c'est assez facile. Il n'y a pas besoin de mettre un 2ème parametre ...
non ce n'est pas du timestamp, mais le format de date que propose MySQL, c'est à dire : yy-mm-dd HH:mm
Tu as raison, cela doit etre ca, le souci.
voila, un petit appercu pour mieux pour que vous comprenait.
$t=mysql_query ("select ma_date from matable" ); |
j'ai trouvé 2 solutions pour extraire le jour de mes dates enregistrées dans la base de données :
- recuperer donnee_mysql[0] en tant que chaine de caractère et faire un faire un substring pour recuperer le jour.
- ou sinon une solution, un peu plus propre, serait de rajouter une autre variable dans la requete et d'utiliser la commande UNIX_TIMESTAMP
$t=mysql_query ("select ma_date, UNIX_TIMESTAMP (ma_date) as date_en_timestamp" ); |
c'est un pêu mieux, je trouve cela dommage de rajouter une autre variable dans la requete.
N'y a t'il pas une fonction PHP qui transforme une date MySQL en timestanp pour qu'ensuite je puisse utiliser la fonction date de PHP.
un truc dans le genre.
$mois=date("j", fonction_to_timestamp(donnee_mysql[0]) ) |
Marsh Posté le 05-05-2006 à 15:35:34
tu dois avoir une fonction mysql qui te retourne le jour
sinon en php tu as http://fr.php.net/strtotime
Marsh Posté le 05-05-2006 à 15:55:18
Ouais, y a surtout les fonctions Day, Year, Month directement dans mysql, rtfm donc
Marsh Posté le 05-05-2006 à 17:16:48
merci soju, j'essairai ta solution un peu plus tard. Merci
naceroth, non ta solution n'est pas top. Dans tous les cas, je dois afficher dans mon formulaire la date. Donc ce que tu me propose c'est de mettre 2 variable dans ma clause SELECT, une pour afficher ma date en entier et une autre pour récuperer le mois. Nop désolé, je ne trouve pas ca tres propre et je trouve que c'est plus le role de php que de MySQL. Enfin, bon, je sais c'est tres subjectif comme réponse.
Marsh Posté le 05-05-2006 à 18:23:08
weed a écrit : |
Tu ne nous donnes pas non plus l'intégralité de ton problème, rien n'indiquait dans ta question la présence obligatoire de la date complète, difficile donc d'être dans ta tête au moment de répondre...
Marsh Posté le 05-05-2006 à 19:49:20
j'allais dire comme naceroth, mais c pas bien je pleureeee
Marsh Posté le 05-05-2006 à 21:01:38
Le format "strftime" de 2006-05-09 02:09:21 est "%Y-%m-%d %H:%M:%S"
donc :
$sDate = '2006-05-09 02:09:21';
$aDate = strptime( $sDate, '%Y-%m-%d %H:%M:%S' );
$mois = $aDate['tm_mon'] +1;
Marsh Posté le 05-05-2006 à 02:34:26
voila je bloque ...
selon la doc http://fr3.php.net/manual/fr/function.date.php
ca serait date (<format>, <date> )
Mettons que la date est : 2006-05-09 02:09:21 et que je veux recuperer le mois c'est à dire 5
j'ai essayé
date ('j', $donnee_mysql[0]);
mais cela m'affiche 1 et non pas 5