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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MYSQL] Stocker une date+heure dans la BDD [De nouveaux probs]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MYSQL] Stocker une date+heure dans la BDD [De nouveaux probs]

n°109737
Ace17
Posté le 09-03-2002 à 11:45:36  profilanswer
 

J'ai défini une table dans laquelle il y a un champ nommé date de time TIMESTAMP. Mais quand j'essaie d'assigner a ce champ (pour un enregistrement donné) une valeur, celle de time(), la valeur de ce champ reste a zero. Pourquoi? Comment suis-je censé stocker les dates dans une BDD? Je précise que j'aimerais pouvoir classer ces enregistrements par date. Merci!  :hello:

 

[jfdsdjhfuetppo]--Message édité par Ace17 le 01-06-2002 à 10:25:43--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 09-03-2002 à 11:45:36  profilanswer
 

n°109738
massanu
Posté le 09-03-2002 à 11:47:57  profilanswer
 

bah essaye de faire plutot 2 champ
un date de type DATE  et un time
dans le date tu stock CURDATE() et dans le time jsais plus c quoi la fonction qui retourne lheure actuel

n°109742
gizmo
Posté le 09-03-2002 à 11:53:43  profilanswer
 

houla, quel gachis de place, le timestamp est bien mieux, mais il faut que ta date soit formaté comme suit: YYYYMMJJHHMMSS sinon il refuse. Et si c'est juste pour stocker l'heure d'insertion dans la db, tu n'as qu'a utilisé la fonction sql NOW() qui mettra automatiquement la bonne valeur bien formatée.

n°109806
Ace17
Posté le 09-03-2002 à 15:43:00  profilanswer
 

mais la fonction time() elle renvoie pas un TIMESTAMP formatté?

n°109811
THE REAL S​MILEY
The Real Résistance!
Posté le 09-03-2002 à 16:22:03  profilanswer
 

Ace17 a écrit a écrit :

mais la fonction time() elle renvoie pas un TIMESTAMP formatté?  




suis le conseil de gizmo, il vaut mieux utiliser les fonction MySQL


---------------
༼ つ ◕_◕ ༽つ
n°109814
Ace17
Posté le 09-03-2002 à 16:28:02  profilanswer
 

Le gachis de place c'est de stocker un timestamp?

n°109819
THE REAL S​MILEY
The Real Résistance!
Posté le 09-03-2002 à 16:42:46  profilanswer
 

Ace17 a écrit a écrit :

Le gachis de place c'est de stocker un timestamp?  




le fait de stocker en timestamp te permettra de faire des tris par dates sans aucun pb


---------------
༼ つ ◕_◕ ༽つ
n°109863
Ace17
Posté le 09-03-2002 à 18:57:08  profilanswer
 

C'est fait, j'arrive a stocker dans un timestamp mais pour l'afficher je fais comment? Manifestement ca a l'air de poser des problemes avec la fonction date

n°109866
THE REAL S​MILEY
The Real Résistance!
Posté le 09-03-2002 à 19:01:47  profilanswer
 

maintenant, utilise la fonction DATE_FORMAT dans ta requete, ainsi:
select DATE_FORMAT(TA_DATE, '%d/%m/%Y';) as TA_DATE from TA_TABLE
 
ceci va te permettre de récupérer ta date au format jj/mm/aaaa


---------------
༼ つ ◕_◕ ༽つ
n°124624
Ace17
Posté le 11-04-2002 à 11:40:51  profilanswer
 

J'ai pas bien compris la.... Mon Timestamp si je veux l'afficher je dois passer aussi par des requetes Mysql??
Tu peux donner quelques lignes de codes que je voie a quoi ca ressemblerait?

mood
Publicité
Posté le 11-04-2002 à 11:40:51  profilanswer
 

n°124643
Ace17
Posté le 11-04-2002 à 12:15:10  profilanswer
 

C'est bon j'ai trouvé!
$raw_date = mysql_result($req,$i,"date" );
 
$req_date = mysql_query("SELECT DATE_FORMAT('$raw_date', '%d/%m/%Y a %h:%i';) as 'formatted_date'", $base_id);
 
$date = mysql_result($req_date, 0, "formatted_date" );

n°148944
Ace17
Posté le 01-06-2002 à 10:25:21  profilanswer
 

Encore un petit probleme :D
 
Pourquoi lorsque je mets a jour la valeur d'un enregistrement ca met aussi a jour la valeur de la date (un autre membre de l'enregistrement) ?
 
Je précise que j'avais utilisé "now()" pour définir la valeur de la date a l'enregistrement lors de sa création

 

[jfdsdjhfuetppo]--Message édité par Ace17 le 01-06-2002 à 10:27:05--[/jfdsdjhfuetppo]

n°149027
ethernal
Chercheur de vérité...
Posté le 01-06-2002 à 14:00:28  profilanswer
 

tu as mis now() en valeur par défaut lors de la création de la BD ? -> c normal, c'est comme l'id auto-increment, si tu ne stipule pas de date, il update ou insère avec la date actuelle je pense.
Donc vire le de la création de la BD.

n°149031
Ace17
Posté le 01-06-2002 à 14:15:27  profilanswer
 

Ben non, la valeur par défaut c'est null
Mais lorsque l'enregistrement est créé, la valeur de la date est mise a la date actuelle soit "now()"
En fait je voudrais que le contenu de la date soit la date de création de l'enregistrement et non la date du dernier update.
Comment me passer de now()?

n°150269
Ace17
Posté le 03-06-2002 à 17:30:58  profilanswer
 

up please


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MYSQL] Stocker une date+heure dans la BDD [De nouveaux probs]

 

Sujets relatifs
[PHP/MySQL]Problème a propos de l'auto increment ....[VB] Histoire de date.
[sql server] insertion d'une date null... [ H T M L ] Afficher Date et heure
[MySQL] J'ai 7 requêtes... Comment en avoir qu'une seule ?[Kylix]MySQL
[mySQL] les clés[MySQL] Fusionner 2 tables... ?
Plus de sujets relatifs à : [MYSQL] Stocker une date+heure dans la BDD [De nouveaux probs]


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