Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1519 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  date auto/ mysql

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

date auto/ mysql

n°1428483
jedebute75
Posté le 21-08-2006 à 11:46:05  profilanswer
 

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 :  

Code :
  1. INSERT INTO telechargement (titre, deposant, le_doc, "je sais pas quoi mettre ici" ) VALUES ($_POST['titre'], $_POST['deposant'], $_POST['le_doc'], et là je sais pas quoi mettre pour la date);


 
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

mood
Publicité
Posté le 21-08-2006 à 11:46:05  profilanswer
 

n°1428489
anapajari
s/travail/glanding on hfr/gs;
Posté le 21-08-2006 à 11:47:46  profilanswer
 

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.

n°1428499
betsamee
Asterisk Zeperyl
Posté le 21-08-2006 à 11:52:21  profilanswer
 

tu peux egalement mettre Now() dans la valeur de ta date

n°1428505
chani_t
From Dune
Posté le 21-08-2006 à 11:55:28  profilanswer
 

anapajari a écrit :

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.


 
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

Message cité 1 fois
Message édité par chani_t le 21-08-2006 à 11:56:01
n°1428509
betsamee
Asterisk Zeperyl
Posté le 21-08-2006 à 11:59:16  profilanswer
 

chani_t a écrit :

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


1) seulement a la creation
2) l ancienne date est conservee

n°1428510
jedebute75
Posté le 21-08-2006 à 12:00:15  profilanswer
 

humm bah moi ça me donne ça à l'affichage :  
 
0000-00-00
 
:-(((

n°1428516
chani_t
From Dune
Posté le 21-08-2006 à 12:05:18  profilanswer
 

betsamee a écrit :

1) seulement a la creation
2) l ancienne date est conservee


 
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  :heink: ... va falloir que je regarde ça de plus prés :D)

n°1428529
jedebute75
Posté le 21-08-2006 à 12:24:28  profilanswer
 

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!!!

n°1428536
chani_t
From Dune
Posté le 21-08-2006 à 12:52:40  profilanswer
 

et avec date("Y-m-d" ) ? à la place de now  

n°1428544
anapajari
s/travail/glanding on hfr/gs;
Posté le 21-08-2006 à 13:06:55  profilanswer
 

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 :
  1. CREATE TABLE `taTable` (
  2. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. .... ,
  4. `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  5. ) ENGINE = MYISAM ;



Message édité par anapajari le 21-08-2006 à 13:07:17
mood
Publicité
Posté le 21-08-2006 à 13:06:55  profilanswer
 

n°1428589
lkolrn
<comment ça marche?>
Posté le 21-08-2006 à 14:08:44  profilanswer
 

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)

n°1428593
jedebute75
Posté le 21-08-2006 à 14:13:53  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  date auto/ mysql

 

Sujets relatifs
[mySQL] L'exception SocketException n'a pas été gérée ...[Résolu] Affichage à partir de mysql
erreur mysql dans phpmyadmindate sur base mysql phpbb
[php] Erreur boolean : MySQL en cause ?Afficher la date
[MySql] : requete de premier elettres d'un clonneerreur 1064 mysql 4.0
[php/Mysql] auto incrementé une dateDate Auto dans MySQL
Plus de sujets relatifs à : date auto/ mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR