Page 1 sur 1

date en fonction du n° de semaine

Posté : 31 mai 2006, 14:25
par FAbrice
Bonjour,

je suis entrain de créer une page dans laquelle je fais une requete par rapport a une date.

Je voulais savoir si l'on pouvait, au lieu de rentrer une date au format jj-mm-aaaa, rentrer le numéro de semaine pour la requete?

merci de votre aide,
FAb

Posté : 31 mai 2006, 14:31
par charabia
Su tu utilises le type DATE de SQL, c'est obligatoirement sous format aaaa-mm-jj.

C'est à la sortie que tu formattes pour affichage correct.

Posté : 31 mai 2006, 14:39
par FAbrice
salut,

justement, j'utilise la fonction texte pour mon champs date.
les dates seront donc saisies sous la forme 28-03-2006 (par ex) mais en format texte dans la base de données.

est ce que si je tape un numéro de semaine, j'aurai la possibilitié de travailler avec mes date en format texte?

Posté : 31 mai 2006, 14:42
par charabia
Si tu veux mettre la main dans la sauce pour effectuer des opérations sur les dates plus tard (surtout les tris), je te conseille vivement d'utiliser le type DATE (ou TIMESTAMP...etc) et non TEXTE.

Tes manipulations se feront hors base. Si tu gardes le format TEXTE ça sera chiant pour faire ce que tu veux par la suite.

Posté : 06 juin 2006, 08:24
par FAbrice
je veux bien utiliser la fonction DATE (ce qui est purement logic por travailler sur des dates 8) ) mais ce qui m'embete avec cette fonction c'est que l'on soit obligé de rentrer la date de la manière suivante: aaaa-mm-jj :cry:

si il y a un moyen pour rentrer les dates en format jj-mm-aaaa, la fonction date sera une evidence dans mon cas!!!

Posté : 06 juin 2006, 10:46
par Ryle
Si tu optes pour le format date en base, tu pourras utiliser les fonctions de mysql sur les dates, et nottament la fonction WEEK (mysql 5.0) ou DATE_FORMAT (avec les paramètres %u %U ou %v %V) pour récupérer le numéro de la semaine.

Quant au problème de format lors de la saisie, il te suffit simplement d'ajouter une fonction lors de l'insertion et de la lecture en base, qui te retournera la date comme il faut :)

Regarde dans la FAQ, y un sujet très interessant sur la manipulation des dates : Quelques petites manipulations avec les dates (PHP/MySQL) :)