date auto/ mysql - PHP - Programmation
Marsh Posté le 21-08-2006 à 11:47:46
plus simple:
tu déclares ton champs en not null default current date dans ta base et tu t'en occupes jamais dans tes requetes d'insert.
Marsh Posté le 21-08-2006 à 11:55:28
anapajari a écrit : plus simple: |
Tiens.. une question suite à ta réponse..
En mettant ça dans la base, est ce que la date ne sera mise à jour que lors de la création ou bien à chaque modification de la ligne ?
Comment ça se passe en cas de migration d'une base à une autre.. l'ancienne date est conservée ? (priorité du remplissage du champs sur l'auto remplissage ?)
Merci bien
EDIT : ajout de la citation
Marsh Posté le 21-08-2006 à 11:59:16
chani_t a écrit : Tiens.. une question suite à ta réponse.. |
1) seulement a la creation
2) l ancienne date est conservee
Marsh Posté le 21-08-2006 à 12:00:15
humm bah moi ça me donne ça à l'affichage :
0000-00-00
:-(((
Marsh Posté le 21-08-2006 à 12:05:18
betsamee a écrit : 1) seulement a la creation |
Ok merci... A une autre question... je n'utilise pas forcément la mise en forme de la date de base... est ce qu'on peut la formater directement ?
Actuellement j'utilise ça : $jour = date("Y-m-d h:i:s" ); ce qui me permet de formater la date comme je le souhaite.. (en même temps pourquoi je la formate ainsi ... va falloir que je regarde ça de plus prés )
Marsh Posté le 21-08-2006 à 12:24:28
help!!! bon, j'ai testé avec un Now() dans la valeur date, il me dit requete invalide :-((( pfff
et sinon, toujours un bon 0000-00-00 avec le current date pffff, j'ai toujours un truc qui merdouille au debut moi!!!
Marsh Posté le 21-08-2006 à 13:06:55
après vérification ça ne marche que sur les timestamps et pour un seul champs ( ce qui est ton cas) donc ça donne un truc dans le genre:
Code :
|
Marsh Posté le 21-08-2006 à 14:08:44
Le plus simple, et aussi (surtout) le plus standard, c'est d'utiliser des timestamp Unix (Google si jamais tu connais pas encore)
Côté MySql : tu déclares un champ date de type INT et de taille 10
Côté Php :
- au moment de l'insertion tu utilises simplement la fonction 'time()' pour remplir ton champ date
- après pour afficher tu utilises la fonction 'date()', formatée comme tu veux en fonction du niveau de détail souhaité pour la date (date("d-m-Y",$ma_date_en_timestamp); par exemple)
D'après moi c'est mieux comme ça car ça reste indépendant de MySql et de ses fonctionnalités propres (qui malheureusement varient en fonction de la version de MySql que tu utilises)
Marsh Posté le 21-08-2006 à 14:13:53
merci à tous pour vos infos!!! c super. je vais opter pour la methode de LKoLRN qui effectivement me parait sympa car indépandante de Mysql et abordable à mettre en place avec mon niveau en prog :-)
Meeerciiiii
Marsh Posté le 21-08-2006 à 11:46:05
hum, ptete un probleme juste mysql et pas vraiment php mmhmmm!!!!
j'ai fais le tour du forum pour la soluce mais comme ça marche pas chez moi.
petit formulaire d'ajout de document qui fonctionne très bien, sauf que je voudrais que la date d'ajout du document se fasse automatiquement :
champs 'titre'
champs 'deposant'
champs 'le_doc'
et donc champs 'date' qui ne doit pas être géré par l'utilisateur.
ma base mysql ce compose de :
champs 'titre' : varchar
champs 'deposant' : varchar
champs 'le_doc' : varchar
champs 'date' : date
au niveau de ma requete :
j'ai trouvé la fonction CURDATE() qui correspond à ce que je cherche mais comment la gérer au niveau de ma requete je sais pas trop...
si vous pouvez m'aider ,merci