CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007
-
10 mars 2006 à 21:36
CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007
-
12 mars 2006 à 18:13
Je me demandais s'il était possible avec une quelquoncque (je suis vraiment pas certain de l'orthographe hihihi) de prendre un élément texte et de le calculer comme un nombre...exemple
j'ai un élément texte avec la valeur 17-03-1973
est-il possible de faire ressortir une date de ce champs texte là?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mars 2006 à 23:24
hello,
quelconque.
C'est quoi un élément texte...?
si tu soumets un formulaire avec un champ texte du genre :
tu le récupères dans $_POST['date'] ou $_GET['date'] selon la méthode utilisée par ton formulaire.
Mais heu...17-03-1973 EST une date...où est ton problème au juste, que veux-tu en faire exactement?
CyberMen30
Messages postés152Date d'inscriptiondimanche 31 août 2003StatutMembreDernière intervention 8 novembre 2007 10 mars 2006 à 23:59
Merci malalam pour ta réponse et aussi pour le mini cours d'orthographe hiihih
Mon probleme est que j'entre une date d'inscription dans ma base de données qui est du type texte (je sais que j'aurais dû tout de suite la mettre de type date mais bon) puisqu' au moment de faire cette partie, je n'avais pas besoins de "jouer" avec cette date, ce n'était que pour simple information.
Mais dû a certain changement, j'ai besoins de cette date pour supprimer les enregistrements qui date de plus de 1 an...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 11 mars 2006 à 00:09
je remets le code que j'ai mis quelques posts avant le tien aujourd'hui :
$date = '17-03-1973';
list ($day, $month, $year) = explode ('-', $date);
if (false === checkdate ($month, $day, $year)) {
//date erronée
} else {
//date correcte
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 11 mars 2006 à 00:31
De rien, mais en relisant ta réponse...
tu as une table avec des champs texte, dans lesquels se trouvent une date à ce format, c'est ça ? Et tu veux supprimer toutes les lignes dont la date est ancienne de plus d'un an?
DELETE FROM table WHERE RIGHT(date, 4) != '2006'
par exemple. Bon là, ça supprime toutes les dates antérieurs à 2006 hein, mais tu peux mixer :
DELETE FROM table WHERE (RIGHT(date, 4) != '2006' AND RIGHT(date, 4) != '2005' )) OR (RIGHT(date, 4) = '2005' AND SUBSTRING(date, FROM 4, 2 ) IN ('01', '02'))
Ca devrait te supprimer toutes les lignes dont la date est inférieure à mars 2005 (à tester hein...j'ai fait ça comme ça).
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 12 mars 2006 à 15:25
Bah un champ DATE c'est pas pour rien que ca existe aussi :)
Et puis vaut mieux récupérer une date d'un champ de type DATE plutot que de devoir faire un traitement PHP ou alors via un DATE_FORMAT('champ_date', 'Y-m-d');
Maintenant faut voir le plus rapide aussi... niveau stockage c'est pas pour 4bits de plus que ca va changer quelque chose lol :p
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 12 mars 2006 à 15:49
Non mais c'est beaucoup plus simple à traiter quand t'as des limites de temps à connaître, du genre "sélectionner telle date inférieure de X secondes à la date courante" et c'est beaucoup plus rapide pour mysql.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 12 mars 2006 à 15:59
Oui, mais un traitement PHP est il pas aussi lourd derrière ?
Le fait de reconvertir en timestamp puis comparer via mysql ? plutot que de le faire directement ?