Script Php pour récupere n° de semaine dans une table - PHP - Programmation
Marsh Posté le 04-01-2011 à 21:57:37
regarde du coté de WEEK :
http://dev.mysql.com/doc/refman/5. [...] tions.html
Marsh Posté le 04-01-2011 à 22:47:08
oui avec réserve, regarde bien les options de semaine, par exemple la on est toujours en semaine 52
EDIT : non pardon on est bien en 01, mais samedi et dimanche on était toujours en 52
Marsh Posté le 04-01-2011 à 22:51:14
je viens d'essayer ma requête dans PhpMyAdmin, mais ça ne retourne aucun enregistrement
Marsh Posté le 04-01-2011 à 22:55:47
feer a écrit : je viens d'essayer ma requête dans PhpMyAdmin, mais ça ne retourne aucun enregistrement |
normale c'est un date a la PHP que t'as fait, la fonction mysql c'est WEEK ou DATE_FORMAT, tout est dans le lien que je t'ai passé, pas besoin d'aller plus loin
Marsh Posté le 04-01-2011 à 23:04:23
oui en effet !
Code :
|
fonctionne !
merci
Marsh Posté le 05-01-2011 à 11:49:22
Euh ... ça sert à quoi une table où l'ID 28 correspond à la semaine 28, l'ID 32 à la semaine 32 etc ?
Marsh Posté le 05-01-2011 à 12:00:33
Oui mais dans quel but ?
Faire ça :
Code :
|
Ca revient à faire ça (en gros) :
Code :
|
Marsh Posté le 05-01-2011 à 12:04:13
oui c'est juste, je ne crois pas l'avoir précisé, je souhaite aussi conserver la possibilité de sélectionner un autre numéro de semaine au travers d'un champ select
Marsh Posté le 05-01-2011 à 13:04:40
Non mais ça ne change rien... pour sélectionner la semaine 38 ... il faut que tu connaisses déjà le numéro de la semaine...
Même si on est en semaine 12 et que tu veux la semaine tartenpion ... ben c'est que tu fais un SELECT sur la semaine tartenpion ...
Enfin non, vraiment, je ne vois pas la logique là ... y'a un truc qui m'échappe.
Marsh Posté le 05-01-2011 à 13:46:24
désolé je ne comprends pas ce que tu veux dire, mais ne m'en veux pas pas, comme je l'ai dit + haut, je n'ai que très peu de connaissance en Php/MySQL
Marsh Posté le 05-01-2011 à 13:50:19
Il dit que ta table MySQL ne sert à rien (et vu la tête qu'elle a, en effet, elle sert à rien).
Toi ce que tu veux c'est un code qui te dit le numéro de semaine dans laquelle se trouve (par exemple) le 13 avril 2011 ? C'est ça?
Marsh Posté le 05-01-2011 à 13:53:36
Attention, WEEK dépend des param locaux du serveur car la notion de semaine varie selon les pays (pour certains ça commence dimanche par exemple).
Le deuxième param de la fonction WEEK permet de fixer cette définition pour le moins fluctuante.
Marsh Posté le 05-01-2011 à 15:05:48
esox_ch a écrit : |
non, pas seulement, voir plus haut
Marsh Posté le 05-01-2011 à 15:13:40
Oui ça j'ai compris, mais tu dis "sélectionner un autre numéro de semaine" ... à partir de quoi? D'une autre date (p.ex le 23 août 2012) ?
Marsh Posté le 05-01-2011 à 15:37:32
esox_ch a écrit : Oui ça j'ai compris, mais tu dis "sélectionner un autre numéro de semaine" ... à partir de quoi? |
D'une table justement
Marsh Posté le 05-01-2011 à 15:39:45
Tu le fais exprès ou bien? Je m'en fou de savoir d'où tu sors tes données, je te demande (voir message précédent) qu'est-ce que c'est ces données?? Une date? Autre chose?
Bordel on n'est ni à côté de toi, ni voyants, comment veux-tu qu'on t'aide si on doit se battre pour que tu nous donnes des informations utiles?
Marsh Posté le 05-01-2011 à 15:53:03
esox_ch a écrit : Tu le fais exprès ou bien? Je m'en fou de savoir d'où tu sors tes données, je te demande (voir message précédent) qu'est-ce que c'est ces données?? Une date? Autre chose? |
Houla, tu m'as l'air bien remonté toi, vas-y respire, détend toi mon grand, je pensais avoir donné suffisement d'informations pour exposer mon probleme.
Tu ne pardonnes pas mon inculture en la matière ? Tant pis et d'ailleurs j'aime autant me priver de la solution que de perdre mon temps a échanger avec un hystérique.
+_+
Marsh Posté le 05-01-2011 à 17:21:13
Il n'a pas totalement tort, voir ça tous les jours, c'est un peu fatiguant à force.
Tu as une table, avec une correspondance 1:1 ... Aucun intérêt.
En gros, ça revient à faire SELECT 28 FROM table WHERE champ = 28...
Donc à la base, tu le connais déjà ton 28, aucun intérêt d'avoir une base en 1:1
Marsh Posté le 05-01-2011 à 19:13:19
Tu as sans doute raison, une table n'est peut-être pas indispensable et je ne demande qu'à te croire.
Alors je le refais différemment, peux-tu m'expliquer par quel moyen tu peux afficher/proposer dans un formulaire au travers d'un menu déroulant les 52 semaines de l'année ET afficher par défaut le numéro de la semaine courante ?
Marsh Posté le 05-01-2011 à 21:29:09
éventuellement si c'est pour renseigner une zone de choix de la semaine par rapport aux semaines présentes dans la base, tu le feras avec
select distinct(week(matable.date)) from matable where year(matable.date)=curryear
ou un truc du genre, je ne pense pas que la syntaxe soit bonne.
Où matable est une table qui contient les données à afficher, pas une table avec des codes de semaines.
Sinon tu renseignes cette zone par une boucle en php, de 1 à 52, et tu mets selected (ou un truc du genre) sur celle qui est la semaine courante.
Je ne peux pas te l'écrire je n'ai pas la syntaxe de php en tête mais ça ne doit pas être bien dur à trouver.
Marsh Posté le 06-01-2011 à 09:46:39
Note 1 : le numéro de la semaine va de 1 à 53 (et pas 52 comme écrit plus haut)
Note 2 : echo date('W') sort le numéro de la semaine en PHP à la norme ISO-8601 (internationale) c'est à dire que la semaine commence le lundi et la semaine 1 est celle qui contient le premier jeudi de l'année.
Petit extrait de WP car on voit un nombre important d'erreur de codage sur les date en général et sur cette notion en particulier
Citation : La semaine 1 est la première à contenir la majorité de ses jours (au moins 4 jours) dans l'année. Elle contient systématiquement le 4 janvier. C'est aussi celle dont le lundi est le plus proche du jour de l'an. Elle commence au plus tôt le 29 décembre ou au plus tard le 4 janvier. |
Marsh Posté le 04-01-2011 à 21:51:59
Bonjour,
j'ai besoin de votre aide, débutant en Php et MySQL, je souhaiterais obtenir à partir d'une table MySQL le numéro de la semaine courante (01 pour aujourd'hui par exemple) afin de l'insérer dans le champ d'un formulaire.
Ma table se présente comme ceci:
id_sem | semaine
________________
1 | 01
2 | 02
3 | 03
4 | 04
5 | 05
... | ...
52 | 52
Merci de votre aide
---------------
Last FM