Salut à tous,

Voila j'aimerai un coup de pouce pour pouvoir mettre en place dans une BDD (mysql) une série de chiffres qui correspond à une date donnée (jour mois).

Exemple :

le chiffre 215 correspond au 2 octobre.
Cela débute bien sur du 1/1 jusqu'au 31/12...
il faut qu'en entrant le 2/10 que la base me donne 215.

Mon problème c'est que je n'arrive pas à savoir comment m'y prendre pour créer ma BDD (le nombre de colonne dans la table, est il possible de gérer le jour le mois dans une seule colonne).

C'est en fait plus un problème de raisonnement que de programmation .

D'avance merci de vos éclairages.

@+

Naje83

ps : j'abuse un 31/12 Smiley cligne
Modifié par naje83 (31 Dec 2011 - 19:14)
Salut,

Visiblement, la seule chose que tu veux, c'est stocker le jour de l'année (XX/XX/XXXX) avec sa correspondance X ; X valant la jour dans l'année.
Il te faut donc juste une table :

date (date) | day (int)
2012/01/01 | 1
2012/01/02 | 2
2012/01/03 | 3
etc ...

Tu peux bien évidemment partir d'une année antérieure avec le même fonctionnement. Day valant X dans l'année, ou X sur le total de toutes tes données (et dans ce cas, utilises AUTO_INCREMENT)

Ceci-dit je ne vois pas trop l'intérêt d'une telle table, mais peut-être que quelque chose m'échappe. Penses également à la fonction date() qui, avec le paramètre "z", te donnes tout simplement le jour de l'année que tu veux.
Modifié par Gaylord.P (31 Dec 2011 - 08:11)
Merci pour ta réponse rapide.

En fait un chiffre différent correspond à la date donnée et non pas une suite croissante de chiffre (c'était pour la petite histoire).
Et je n'ai besoin que du jour et du mois, donc comment mettre en forme la colonne "date"
le tableau est en fait comme cela :
abscisse = mois de l'année (1 à 12)
ordonnée = jour de l'année (1 à 31)
et les nombres correspondants au 1 jour des 12 mois sont :
46 77 0 31 61 92 123 153 184 214 245 15
et bien sur une autre série de chifres pour le 2 jour de chaque mois etc...

(tout cela pour calculer le signe Maya dans leyr calendrier sacré!)

@+

Naje83

ps : encore merci
Modifié par naje83 (31 Dec 2011 - 08:28)
Bonjour naje,

j’ai du mal à te suivre. Peux-tu expliquer ce que tu veux faire ?
Tu donnes les nombres correspondants aux premiers jours des 12 mois. Tu ne les a pas mis dans un ordre croissant, y a-t-il une raison ? Je me suis aperçu que les mois comportait 15, 16, 30 ou 31 jours et que vraisemblablement tu dois utiliser le calendrier Tzolk’in, car il a l’air de s’arrêter à 260 jours.
Veux-tu avoir une fonction qui à partir d’un jour et d’un mois de notre calendrier retourne le jour et le mois dans le calendrier Tzolk’in ? Tiens-tu comptes de nos années bissextiles ou supposes-tu que février comporte toujours 28 jours et jamais 29 ? Si le 18 septembre est le 261ème jour de notre calendrier et que le calendrier Tzolk’in n’en a que 260 doit-il retourner une erreur ou boucler en donnant le premier jour de l’année du calendrier Tzolk’in ?
Modifié par adrien881 (31 Dec 2011 - 10:26)
salut,

J'ai piqué dans un livre (le code maya) et il y a un tableau où l'on doit chercher le chiffre correspondant au jour et au mois de ta date de naissance et grace à celui-ci tu peux savoir ton signe maya!
Donc j'aimerai mettre tout ces chiffres (372) dans une BDD et qu'en entrant son jour et mois de naissance la base me donne le chiffre.

@+

Naje83
Pourquoi pas faire une colonne "date" et une colonne "chiffre" ?

Avec pour la date un truc du genre :
0101
0201
....
3101
0102

Et dans ton php qui ira chercher dans la table tu devras :
- convertir le mois en chiffre
- si le chiffre est inférieur à 10 rajouter un 0 devant (autant pour le mois que pour le jour)
- vérifier si le jour correspond au mois (bah ouais un 30 février ça passe pas)
- concaténer les 2 chiffres ($date=$jour.$mois).

Et tu mets la date en index ^^


Sinon encore plus simple :
une colonne "jour", une colonne "mois", une clé primaire qui porte sur les 2 colonnes et une colonne chiffre.

Et pour la recherche c'est un where à 2 conditions ^^
Merci pour ta réponse je crois que je vais me diriger vers cette solution.

Bonne fête à tous

@+

Naje83