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

  FORUM HardWare.fr
  Programmation
  PHP

  Modification des dates d'une table mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modification des dates d'une table mysql

n°1492495
oualad
Posté le 17-12-2006 à 23:55:54  profilanswer
 

Bonjour,
J'ai crée un site avec entre autre une table (MySQL) qui compatbilise le nombre de visites. La table contient 3 champs:
IP, Date (jj-mm-aaaa), Heure. Il y actuellement un peu moins de 1000 visites.
Après reflexion, le client aimerait que soit répertorié les visites en fonction du mois.
J'avais pensé à le faire en utilisant le timestamp. C'est ok pour les visites prochaines, mais je ne vois pas comment faire pour retransformer toutes les anciennes visites. Je ne veux pas le faire une par une, j'en aurais pour 1 mois.
 
J'aimerais alors savoir comment faire pour que toutes les dates se transforment en timestamp.  
 
Merci.
 
Si ce n'est pas claire, je reexpliquerai. Merci

mood
Publicité
Posté le 17-12-2006 à 23:55:54  profilanswer
 

n°1492504
mrbebert
Posté le 18-12-2006 à 02:16:32  profilanswer
 

time stamp, ca correspond pas à une heure :??:  
 
Plutôt utiliser un champ de type "datetime" pour avoir la date et l'heure [:figti]  
(ou 2 champs date et time séparés)

n°1492511
leflos5
On est ou on est pas :)
Posté le 18-12-2006 à 03:27:36  profilanswer
 

Timestamp c'est le nombre de secondes depuis le début d'unix, donc tu peux facilement retrouver la date rien qu'avec les fonction du sgbd :spamafote:
 
Cela dit en effet un datetime évitera les usines à gaz ultérieures si beaucoup de traitement en lien avec la date. Mais si c'est juste pour de l'affichage, ce qui serait souhaitable les histoires de vidage de table ça craint, suffit de calculer le timestamp de minuit le premier jour et celui du dernier jour du moi ;) Comme avec un datetime :spamafote:
 
Par pitié pas les champs séparés, par pitiiiiiiiiiiiiiiiiiééé :d
 

n°1493007
oualad
Posté le 18-12-2006 à 22:37:09  profilanswer
 

Oui, je sais pour le timestamp. Ce que j'aimerais c'est rajouter une colonne afin d'avoir le timestamp pour toute mes dates et faciliter ainsi le tri.
Mais je vais voir avec le datetime.
Merci de vos infos

n°1494371
leflos5
On est ou on est pas :)
Posté le 20-12-2006 à 16:21:35  profilanswer
 

Pourquoi veux tu avoir plusieurs colonnes avec une information plus ou moins identique :??: Tu peux faire ce que tu veux avec le datetime ou timestamp après :spamafote:

n°1494376
anapajari
s/travail/glanding on hfr/gs;
Posté le 20-12-2006 à 16:31:07  profilanswer
 

pourquoi tu fais pas simplement un month de ta date dans ta requete sql?

n°1494575
oualad
Posté le 20-12-2006 à 22:37:35  profilanswer
 

Je pense ne pas avoir été assez explicite:
la BD est faite et contient actuellement plus de 1000 visites avec IP et date (jj-mm-aaaa).
Le problème est que quand je fais une requete pour avoir un affichage (dé)croissant, il me le fait en fonction d'abord de 'jj', ensuite de 'mm'.
Du coup, je me retrouve avec quelque chose du genre:
 
 
Date            IP
01-09-2006   62.xxx.xxx.xxx
08-10-2006   128.xxx.xxx.xxx
09-09-2006   85.xxx.xxx.xxx
etc...
 
Or c'est pour ça que j'avais evoqué le timestamp afin de mofifer toutes les dates déja enregistrées pour que le tri se fasse beaucoup plus facilement.
 
Merci encore de vos aides et conseils
 
 :hello:


Message édité par oualad le 20-12-2006 à 22:39:36
n°1494607
mrbebert
Posté le 21-12-2006 à 00:46:10  profilanswer
 

En fait, ton jj-mm-aaaa, c'est du texte et pas une date :ouch:  
Et ca, c'est très très très très très très très très très très très très très mauvais :o  
 
Tu peux essayer d'ajouter un champ de type date et de l'alimenter depuis ce champ [:proy]

Message cité 1 fois
Message édité par mrbebert le 21-12-2006 à 00:47:18
n°1494608
oualad
Posté le 21-12-2006 à 00:52:26  profilanswer
 

mrbebert a écrit :

En fait, ton jj-mm-aaaa, c'est du texte et pas une date :ouch:  
Et ca, c'est très très très très très très très très très très très très très mauvais :o  
 
Tu peux essayer d'ajouter un champ de type date et de l'alimenter depuis ce champ [:proy]


On s'approche, on s'approche. Voilà ma question: comment y parvenir justement. Je ne veux pas le script mais qu'on m'explique la manière.
Du point de vue "c'est très très très très très très très très très très très très très mauvais", maintenant je le sais. :wahoo:  
 
 
Merci

n°1494609
mrbebert
Posté le 21-12-2006 à 01:02:34  profilanswer
 

Ca va être de la bidouille à base de fonctions de concaténation et de sous-chaînes :)  
 
Du genre :
UPDATE table
SET vrai_date=CONCAT(SUBSTR(fausse_date, 7, 4), '-', SUBSTR(fausse_date, 4, 2), '-', SUBSTR(fausse_date, 1, 2))
 
A voir pour les paramètres de SUBSTR (la numérotation commence bien à 1 pour le 1er caractère ....)
Et après vérification que toutes les "dates" enregistrées ont bien ce format (par exemple, "1-12-2006" passera pas alors que "01-12-2006" sera bien traité)
 
Après, quand tu auras des vrais dates, tu pourras les manipuler beaucoup plus facilement :)


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

  Modification des dates d'une table mysql

 

Sujets relatifs
Pour organiser les entrées d'une table[RESOLU]Formulaire et tableau: maj table
[MySQL] Réplication - Besoin d'aide svp...[MySQL]Insert à durée de vie limitée : possible ?
limite d'une table ?[Résolu] [MySQL] Contenu du répertoire data
Requête *entre deux datesIntervertir deux lignes dans une table avec ordre > URGENT !
table avec header fixe[PHP/MySQL] Questions de sécurité
Plus de sujets relatifs à : Modification des dates d'une table mysql


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