Modification des dates d'une table mysql - PHP - Programmation
Marsh Posté le 18-12-2006 à 02:16:32
time stamp, ca correspond pas à une heure
Plutôt utiliser un champ de type "datetime" pour avoir la date et l'heure
(ou 2 champs date et time séparés)
Marsh Posté le 18-12-2006 à 03:27:36
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
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
Par pitié pas les champs séparés, par pitiiiiiiiiiiiiiiiiiééé
Marsh Posté le 18-12-2006 à 22:37:09
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
Marsh Posté le 20-12-2006 à 16:21:35
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
Marsh Posté le 20-12-2006 à 16:31:07
pourquoi tu fais pas simplement un month de ta date dans ta requete sql?
Marsh Posté le 20-12-2006 à 22:37:35
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
Marsh Posté le 21-12-2006 à 00:46:10
En fait, ton jj-mm-aaaa, c'est du texte et pas une date
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
Tu peux essayer d'ajouter un champ de type date et de l'alimenter depuis ce champ
Marsh Posté le 21-12-2006 à 00:52:26
mrbebert a écrit : En fait, ton jj-mm-aaaa, c'est du texte et pas une date |
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.
Merci
Marsh Posté le 21-12-2006 à 01:02:34
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
Marsh Posté le 17-12-2006 à 23:55:54
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