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

Résolu/Fermé
Andre13 Messages postés 28 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 22 juillet 2010 - 20 mai 2008 à 11:02
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 - 22 mai 2008 à 19:49
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
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 mai 2008 à 11:49
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
Andre13 Messages postés 28 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 22 juillet 2010 2
20 mai 2008 à 13:54
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
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > Andre13 Messages postés 28 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 22 juillet 2010
21 mai 2008 à 09:51
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
0
Andre13 Messages postés 28 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 22 juillet 2010 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
22 mai 2008 à 19:41
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
0
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
20 mai 2008 à 11:21
Pour envoyer une date, tu définie le champ en Date et tu l'envoie comme un simple varchar.
0
Andre13 Messages postés 28 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 22 juillet 2010 2
20 mai 2008 à 13:15
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
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
22 mai 2008 à 19:49
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
0