Récupérer une date dans mysql jj/mm/aaaa

[Résolu/Fermé]
Signaler
Messages postés
28
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010
-
Messages postés
793
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
-
Bonjour,
Je suis totalement débutant PHP MYSQL
J'ai une base de données MYSQL d'ou je récupère les données pour les afficher de la façon suivante

<?php echo '<p><strong>' . $donnees['nom'] . '</strong> prénom :<br />' . $donnees['prenom'] . '<br/>' . 'né(e) le :' . date('d/m/Y', $donnees['date_naissance']). </p>';?>

Le Nom et prenom c'est bon mais la date_naissance, impossible avec l'erreur:
Notice: A non well formed numeric value encountered in C:\Program Files\EasyPHP 2.0b1\www\minitest.php on line 65

Je saisi ma date_naissance au format AAAA-MM-DD (puisqu'il ne comprend rien d'autre) l'envoi en base mysql et veut la récupérer au format jour/mois/année
2ème Question comment envoyer une date à mysql au format jour/mois/année et est ce possible
Merci

3 réponses

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
892
Salut,

il faut décomposer la date lue dans mysql et la recomposer dans le format que tu veux:

//on fait un tableau en décomposant par rapport à -
$array_date_mysql=explode("-",$donnees['date_naissance']);
//on met au format voulu
$date_fr=$array_date_mysql[2]."/".$array_date_mysql[1]."/".$array_date_mysql[0];

//affichage:
<?php 
echo "<p><strong>".$donnees['nom']."</strong> prénom :<br />".$donnees['prenom']."<br/> né(e) le :".$date_fr."</p>";

?> 



et attention: si tu commences et fini ta chaine echo par des ' tu ne peux pas en mettre à l'intérieur $donnees['nom'] par exemple

soit celle de l'intérieur tu les échappes par des \ comme ça \'

soit tu mets des " en début et fin de chaine et pour concaténer et tu peux alors mettre des ' entre

comme je t'ai fait ci dessus

Connais tu le site:

https://openclassrooms.com/fr/


@lain
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42584 internautes nous ont dit merci ce mois-ci

Messages postés
28
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010
2
Salut,
En fait je plante maintenant sur la ligne:
$array_date_mysql=explode("-",$donnees['date_naissance']);
ma date 1946-01-02 (c'est au bon format date)
avec le message
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\EasyPHP 2.0b1\www\minitest.php on line 64
Sinon je viens de terminer mon initaition avec le site du zéro FABULEUX.
Merci de ton aide
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
892 >
Messages postés
28
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010

Bonjour,

c'est la variable $donnees['date_naissance'] qui est en cause, as tu bien mis cette ligne après avoir extrait les infos de la base (après $donnees=mysql_fetch......) ?

Est ce que le champ date_naissance est bien libellé ainsi dans ta table ?

@lain
Messages postés
28
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010
2 >
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017

c'est la variable $donnees['date_naissance'] qui est en cause,effectivement
j'ai bien extrait les infos de la base (après $donnees=mysql_fetch......) ? puis j'ai fermé php ?>
cela donne
$donnees = mysql_fetch_array($reponse)
?>

<?php
$chaine_date = $donnees['date_naissance'];// inutile on peut l'écrire en direct voir ci dessous
$array_chaine = explode('-', $donnees['date_naissance']);
Merci de ton aide
Messages postés
2587
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
26 août 2011
143
Pour envoyer une date, tu définie le champ en Date et tu l'envoie comme un simple varchar.
Messages postés
28
Date d'inscription
jeudi 6 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010
2
Bonjour,
J'ai défini mon champ en date dans la base mysql que je charge avec une boite option"text" mais il exige le format AAAA-MM-DD si je charge DD/MM/AAAA j'obtient une date que est 0000-00-00.
Comment envoyer au format VARCHAR ()quand le champ est "DATE" je ne vois pas ?
merci
Messages postés
793
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
159
Salut,

Le code Alain_42 marche, mais il y a "mieux" :

Date_format
Fonction sur les dates

Il me semble que tu peux ainsi faire la conversion dans les deux sens (vers et de la base)

@Bientôt