insertion date dans mysql

insertion date dans mysql - PHP - Programmation

Marsh Posté le 17-02-2005 à 14:24:57    

J'ai un petit probleme pour inserer une date dans ma base MYSQL
Je voudrais y mettre la date dans 15 jours
 
Voici se que je fais:
$nb_jours = '+15';  
 
$query4 = "UPDATE uploader SET date_banni = date('d/m/Y', mktime(0,0,0,date('m'),date('d')+$nb_jours,date('Y')) WHERE uploader_id = $cpt";
mysql_query($query4);
 
Dans ma table, date_banni est de type VARCHAR(10) et peut etre NULL
 
Mon probleme est que lorsque j'execute le code, dans ma base, sa reste a 0000-00-00
 
merci pour l'aide

Reply

Marsh Posté le 17-02-2005 à 14:24:57   

Reply

Marsh Posté le 17-02-2005 à 14:28:17    

fais un 'echo $query4' avant le mysql_query, tu devrais voir le problème...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 14:30:47    

jj59 a écrit :

Code :
  1. $nb_jours = '+15';
  2. $query4 = "UPDATE uploader SET date_banni = date('d/m/Y', mktime(0,0,0,date('m'),date('d')+$nb_jours,date('Y')) WHERE uploader_id = $cpt";
  3. mysql_query($query4);



 
- pourquoi tu mets '+15' ???
- ya pas un problème dans le cas où date('d') est supérieur à 16 ? ou est ce que ca incremente le mois automatiquement ?
- à ta place je ferais ça en php

Reply

Marsh Posté le 17-02-2005 à 14:30:59    

Et deja pourquoi mettre une date en varchar alors que le format date existe ?? :??:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 17-02-2005 à 14:39:35    

avec le format dat , c trop la misere, rien ne marche
 
et quand je fais un echo de date('d/m/Y', mktime(0,0,0,date('m'),date('d')+$nb_jours,date('Y'))  
sa me donne bien la bonne date, meme si on est le 16
 
mais voila rien ne s'inscrit dans la base  
merci pour l'aide

Reply

Marsh Posté le 17-02-2005 à 14:42:45    

jj59 a écrit :

avec le format dat , c trop la misere, rien ne marche


 
Ne pas confondre 'rien ne marche' et 'je ne sais pas m'en servir'.
 

jj59 a écrit :


et quand je fais un echo de date('d/m/Y', mktime(0,0,0,date('m'),date('d')+$nb_jours,date('Y'))  
sa me donne bien la bonne date, meme si on est le 16


 
affiche la requête complète, je te dis!:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 14:45:10    

jj59 a écrit :

avec le format dat , c trop la misere, rien ne marche


 
Idem moi je ne me sert plus du type int, parce que je peux pas écrire
'un' 'deux' 'trois' 'quatre' dedans...
 
Désolé, je suis un peu énervé aujourd'hui...
 
le format date marche très bien, il suffit juste de rentrer la date dans le format voulu...
 

Reply

Marsh Posté le 17-02-2005 à 14:50:33    

j'ai fait comme tu ma dit : une echo $query
t'as raison en fait, il ne transforme pas la date il ecrit
 
UPDATE uploader SET date_banni = date('d/m/Y', mktime(0,0,0,date('m'),date('d')+15,date('Y')) WHERE uploader_id = 4
 
sa doit etre un probleme de guillemet ou quelque chose comme sa

Reply

Marsh Posté le 17-02-2005 à 14:51:29    

jj59 a écrit :

j'ai fait comme tu ma dit : une echo $query
t'as raison en fait, il ne transforme pas la date il ecrit
 
UPDATE uploader SET date_banni = date('d/m/Y', mktime(0,0,0,date('m'),date('d')+15,date('Y')) WHERE uploader_id = 4
 
sa doit etre un probleme de guillemet ou quelque chose comme sa


Bien, maintenant tu as situé le problème...il ne te reste plus qu'à corriger.[:itm]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 15:53:22    

Pourquoi est-ce que beaucoup de monde s'embete a ajouter un nombre a un mois par exemple en faisant 1000 manips dans tous les sens ?
 
Il suffit de prendre la date voulue en timestamp, s'y ajouter x secondes (15 jours = 15*24*60*60 secondes)
 
Et seulement apres transformer le resultat obtenu en date ... non ?
 
Ou carrement stocker le timestamp obtenu, mais ça ça dépend de ce qu'on veut faire.
 
++


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 17-02-2005 à 15:53:22   

Reply

Marsh Posté le 17-02-2005 à 15:55:09    

P.S. : Et comme je l'ai déjà dis dans un post pas loin en dessous du tiens (vive la recherche)
 

Code :
  1. // On définit le nombre de jour à ajouter
  2. $nbday = 15;
  3. // On calcule le tout en secondes
  4. $addday = 60 * 60 * 24 * $nbday;
  5. // On retire le nombre de jour au temps actuel
  6. $time  = time() + $addday;
  7. // On affiche la date obtenu
  8. date('d/m/Y', $time);


Message édité par Dj YeLL le 17-02-2005 à 15:56:05

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 17-02-2005 à 15:55:32    

Dj YeLL a écrit :

Pourquoi est-ce que beaucoup de monde s'embete a ajouter un nombre a un mois par exemple en faisant 1000 manips dans tous les sens ?
 
Il suffit de prendre la date voulue en timestamp, s'y ajouter x secondes (15 jours = 15*24*60*60 secondes)
 
Et seulement apres transformer le resultat obtenu en date ... non ?
 
Ou carrement stocker le timestamp obtenu, mais ça ça dépend de ce qu'on veut faire.
 
++


Je suis tout à fait d'accord...travailler avec le timestamp facilite grndement la vie... :jap:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 16:15:20    

+1. Amha, si aucune fonction du type dateadd() n'est implémentée par défaut, le plus simple reste les opérations strictement arithmétiques.
 
Sinon, un format pratique est le AAAAMMJJ, qui permet les comparaisons numériques.


Message édité par Fred999 le 17-02-2005 à 16:15:28
Reply

Marsh Posté le 17-02-2005 à 16:17:06    

Fred999 a écrit :

+1. Amha, si aucune fonction du type dateadd() n'est implémentée par défaut, le plus simple reste les opérations strictement arithmétiques.
 
Sinon, un format pratique est le AAAAMMJJ, qui permet les comparaisons numériques.


 
bof...le timestamp est meilleur, parce-que comparable et permettant les opérations d'ajouts/suppression facilement...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 16:21:48    

C'est clair, parceque vas-y pour ajouter 1 mois sur un AAAAMMJJ :D T'es obligé de faire un substr et tout ce qui s'en suis :)


Message édité par Dj YeLL le 17-02-2005 à 16:22:39

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 17-02-2005 à 16:42:00    

Je parlais juste de comparaisons, ça m'a déjà servi sur des projets où tu récupères l'existant.
 
Ajouter un mois sur un AAAAMMJJ, c'est plus facile qu'on ne le pense :o

Reply

Marsh Posté le 17-02-2005 à 16:42:36    

Fred999 a écrit :

Je parlais juste de comparaisons, ça m'a déjà servi sur des projets où tu récupères l'existant.
 
Ajouter un mois sur un AAAAMMJJ, c'est plus facile qu'on ne le pense :o


...et ajouter 28 jours? [:itm]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-02-2005 à 17:46:17    

Je répète : "ça m'a déjà servi sur des projets où tu récupères l'existant." [:toad666] :D
 
Sinon en MySQL je me sers des timestamps comme vous [:spamafote]

Reply

Marsh Posté le 17-02-2005 à 17:47:10    

Fred999 a écrit :

Sinon en MySQL je me sers des timestamps comme vous [:spamafote]


Je me sers pas de mysql...[:ddr555]


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed