PHP & MySQL : date_format()

PHP & MySQL : date_format() - PHP - Programmation

Marsh Posté le 17-06-2010 à 09:33:58    

Bonjour à tous,
 
 
J'ai dans un champ de type timestamp des données enregistrées sous la forme YYYYMMDDHHMMSS.
 
Pour utiliser ces données correctemment, j'ai souhaité les séparer sous la forme DD/MM/YYYY.
J'ai donc utiliser ce code-là :

$sql = "SELECT * FROM donnees WHERE annonceur='$annonceur' ORDER BY date_soumission_bandeau";  
$req = mysql_query($sql)
 
while($resultat = mysql_fetch_assoc($req)) {  
    $date_soumission_bandeau = date("d/m/Y", strtotime(substr($resultat['date_soumission_bandeau'], 0, 8)));  
}


 
Mais bon, voilà, on m'a fait comprendre que c'était assez crade.
Grâce à l'aide précieuse de dark_lord, j'ai donc modifié mon code, pour faire quelque chose d'un peu plus propre :

$sql = "SELECT id, id_utilisateur, annonceur, statut_du_bandeau, date_format(date_soumission_bandeau,'%Y-%m-%d-%H-%i-%s') as date_soumission_bandeau , id_commercial FROM donnees WHERE id_commercial='$id_commercial' AND annonceur='$annonceur' ORDER BY date_soumission_bandeau";    
$req = mysql_query($sql);  
   
while($resultat = mysql_fetch_assoc($req)) {  
    $date_soumission_bandeau = $resultat['date_soumission_bandeau'];  
}


 
Mais voilà, cela ne fonctionne pas.
 
Quelqu'un pour m'éclairer ?


---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Marsh Posté le 17-06-2010 à 09:33:58   

Reply

Marsh Posté le 18-06-2010 à 10:13:57    

je me demande si c'est une bonne idée de nommer avec le même nom la valeur formatée avec date_format :/ Par ailleurs,  

Code :
  1. WHERE id_commercial='$id_commercial'


si $id_commercial est un entier, faut pas mettre de quotes.
 
Et quand tu dis que ça fonctionnement, ça veut dire quoi : y'a rien qui s'affiche (auquel cas, t'as sûrement une erreur mysql) ou date_format() ne produit aucun effet?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-06-2010 à 11:14:08    

Bonjour !
 
Ah une réponse ! Merci, mon brave ! [:shimay:1]  
 

rufo a écrit :

je me demande si c'est une bonne idée de nommer avec le même nom la valeur formatée avec date_format :/


Tu es sûr ?
 

rufo a écrit :

Par ailleurs,  

Code :
  1. WHERE id_commercial='$id_commercial'


si $id_commercial est un entier, faut pas mettre de quotes.


Ah, je savais pas, ça. Merci. :jap:
 

rufo a écrit :


Et quand tu dis que ça fonctionnement, ça veut dire quoi : y'a rien qui s'affiche (auquel cas, t'as sûrement une erreur mysql) ou date_format() ne produit aucun effet?


date_format() ne produit aucun effet. La date reste au format YYYYMMDDHHMMSS. :/
 
À plus tard. :jap:  
 


---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Marsh Posté le 18-06-2010 à 11:20:55    

As-tu vérifié que tu n'obtenais aucune erreur ?
Avec mysql_error() par exemple, sait-on jamais.

 

Tu peux aussi remplacer ton champ par NOW(), qui te renverra assurément la date du jour dans le format timestamp MySQL. Tu pourra donc vérifier si le problème vient de ton champ.

 

Essais peut être DATE_FORMAT() en majuscules. Je ne sais pas si MySQL est sensible à la casse.

 

Un petit coup d'oeil à la documentation te donnera peut être d'autres pistes : http://dev.mysql.com/doc/refman/5. [...] tions.html

Message cité 1 fois
Message édité par dwogsi le 18-06-2010 à 11:21:15

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 18-06-2010 à 11:42:48    

:hello:  
 

dwogsi a écrit :

As-tu vérifié que tu n'obtenais aucune erreur ?
Avec mysql_error() par exemple, sait-on jamais.


Je n'obtiens aucune erreur. J'utilise mysql_error() dans mon code, je ne l'ai pas mis ici afin de faciliter la lecture.
 
 

dwogsi a écrit :

Tu peux aussi remplacer ton champ par NOW(), qui te renverra assurément la date du jour dans le format timestamp MySQL. Tu pourra donc vérifier si le problème vient de ton champ.


Mon champ semble correct.
 

dwogsi a écrit :


Essais peut être DATE_FORMAT() en majuscules. Je ne sais pas si MySQL est sensible à la casse.


MySQL ne semble pas être sensible à la casse.
 
Pour la doc', j'ai déjà fait le tour avec dark_lord. :D
 
 
 
Merci. :jap:  


---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Marsh Posté le 18-06-2010 à 12:47:40    

non, je confirme, mysql n'est pas sensible à la casse. Moi je dis que ça vient du nom de champ identique.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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