|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Bonjour à tous!
Contexte: J'ai un formulaire organiser dans un tableau où j'ai un champ date qui a pour valeur la date du jour. PHP 5.3.5, MySQL 5.5.8, Apache 2.2.17. Voici mon problème: Je n'arrive pas à enregistrer la date dans ma bdd en mysql. Il m'affiche 0 à la place. Pourtant mon champ date est de type date. Code :
<input type="text" name="datesaisie" value="<?php echo date('d/m/Y');?>"> et je fais ma requête d'insertion: Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() |
En SQL, les dates sont au format 'aaaa-mm-jj', il faut donc convertir au bon format :
- soit dans le code PHP ; - soit grâce à la fonction STR_TO_DATE de MySQL.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
Peux-tu détaillé avec un exemple?
J'ai essayé de plusieurs façons: Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Il faut lire le lien de CinePhil sur str_to_date(). Code :
sql = "INSERT INTO t_recette(dateSaisie) VALUES (STR_TO_DATE('$datesaisie', '%d/%m/%Y'))"
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Vainui TUAIVADéveloppeur informatique Inscription : novembre 2011 Messages : 19 ![]() |
J'utilise cette fonction pour un affichage et c'est ok!
En ce qui concerne l'insertion dans ma bdd il m'affiche "0000-00-00" ensuite il faut que je puisse faire un tri c'est à dire: SELECT IdRecette, Recette FROM t_recette WHERE dateSaisie=? Je rencontre beaucoup de difficultés en ce qui concerne les dates. Dans ma bdd en mysql mon champ "dateSaisie" est de type DATE donc quand je réalise une insertion il m'affiche bien dans ma bdd 2011-12-01 mais lorsque je fais un tri dans la clause "WHERE" d'un SELECT par exemple lorsque je mets dateSaisie=curdate() ou encore dateSaisie=now() il m'affiche les résultats de n'importe quand. Il ne me reste que ce problème et mon application sera enfin close. S'il vous plaît un p'tit coup de pouce encore! Merci. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() |
Tu peux aussi formater ta date en PHP avant de la présenter à MySQL comme ceci :
Code php :
$mysqlDate = DateTime::createFromFormat('d/m/Y', $date)->format('Y-m-d');
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
Copyright © 2000-2012 - www.developpez.com