Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1015 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Script Php pour récupere n° de semaine dans une table

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Php pour récupere n° de semaine dans une table

n°2046300
feer
Posté le 04-01-2011 à 21:51:59  profilanswer
 

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
mood
Publicité
Posté le 04-01-2011 à 21:51:59  profilanswer
 

n°2046302
stealth35
Posté le 04-01-2011 à 21:57:37  profilanswer
 
n°2046310
feer
Posté le 04-01-2011 à 22:44:51  profilanswer
 

merci stealth35,
 
a t'on avis je peux écrire ça ?
 
SELECT id, semaine FROM ma_table where date('w') = semaine


Message édité par feer le 04-01-2011 à 22:45:04

---------------
Last FM
n°2046311
stealth35
Posté le 04-01-2011 à 22:47:08  profilanswer
 

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


Message édité par stealth35 le 04-01-2011 à 22:48:42
n°2046312
feer
Posté le 04-01-2011 à 22:51:14  profilanswer
 

je viens d'essayer ma requête dans PhpMyAdmin, mais ça ne retourne aucun enregistrement

n°2046314
stealth35
Posté le 04-01-2011 à 22:55:47  profilanswer
 

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


Message édité par stealth35 le 04-01-2011 à 22:56:18
n°2046317
feer
Posté le 04-01-2011 à 23:04:23  profilanswer
 

oui en effet !

Code :
  1. SELECT id, semaine FROM ma_table week(curdate()) = semaine

fonctionne !
 
merci :)

n°2046406
Dj YeLL
$question = $to_be || !$to_be;
Posté le 05-01-2011 à 11:49:22  profilanswer
 

Euh ... ça sert à quoi une table où l'ID 28 correspond à la semaine 28, l'ID 32 à la semaine 32 etc ? :??:


Message édité par Dj YeLL le 05-01-2011 à 11:49:26

---------------
Gamertag: CoteBlack YeLL
n°2046411
feer
Posté le 05-01-2011 à 11:57:54  profilanswer
 

a faire un select sur le champ "semaine"

n°2046413
Dj YeLL
$question = $to_be || !$to_be;
Posté le 05-01-2011 à 12:00:33  profilanswer
 

Oui mais dans quel but ?
 
Faire  ça :
 

Code :
  1. SELECT id, semaine FROM ma_table WHERE week(curdate()) = semaine


 
Ca revient à faire ça (en gros) :
 

Code :
  1. SELECT week(curdate())


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 05-01-2011 à 12:00:33  profilanswer
 

n°2046418
feer
Posté le 05-01-2011 à 12:04:13  profilanswer
 

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 :)

n°2046428
Dj YeLL
$question = $to_be || !$to_be;
Posté le 05-01-2011 à 13:04:40  profilanswer
 

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.


---------------
Gamertag: CoteBlack YeLL
n°2046436
feer
Posté le 05-01-2011 à 13:46:24  profilanswer
 

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

n°2046437
esox_ch
Posté le 05-01-2011 à 13:50:19  profilanswer
 

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?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2046438
smaragdus
whores, drugs & J.S. Bach
Posté le 05-01-2011 à 13:53:36  profilanswer
 

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.


Message édité par smaragdus le 05-01-2011 à 13:54:03
n°2046460
feer
Posté le 05-01-2011 à 15:05:48  profilanswer
 

esox_ch a écrit :


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?


 
non, pas seulement, voir plus haut

n°2046464
esox_ch
Posté le 05-01-2011 à 15:13:40  profilanswer
 

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) ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2046480
feer
Posté le 05-01-2011 à 15:37:32  profilanswer
 

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 ;)

n°2046482
esox_ch
Posté le 05-01-2011 à 15:39:45  profilanswer
 

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?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2046496
feer
Posté le 05-01-2011 à 15:53:03  profilanswer
 

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?
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?


 
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.
 
+_+

n°2046567
Dj YeLL
$question = $to_be || !$to_be;
Posté le 05-01-2011 à 17:21:13  profilanswer
 

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


---------------
Gamertag: CoteBlack YeLL
n°2046614
feer
Posté le 05-01-2011 à 19:13:19  profilanswer
 

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 ?

n°2046633
stealth35
Posté le 05-01-2011 à 20:43:56  profilanswer
 

une boucle qui par de 1 jusqu'à 52...

n°2046641
gzii
court-circuit
Posté le 05-01-2011 à 21:29:09  profilanswer
 

é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.


Message édité par gzii le 05-01-2011 à 21:30:45
n°2046709
smaragdus
whores, drugs & J.S. Bach
Posté le 06-01-2011 à 09:46:39  profilanswer
 

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.
 
La dernière semaine de l'année (52 ou 53) est celle qui contient le dernier jeudi de l'année. Elle est la dernière à avoir la majorité de ses jours (au moins 4) dans l'année et contient systématiquement le 28 décembre. C'est aussi celle dont le dimanche est le plus proche du 31 décembre. Elle termine au plus tôt le 28 décembre ou au plus tard le 3 janvier.


Message édité par smaragdus le 06-01-2011 à 09:47:55
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Script Php pour récupere n° de semaine dans une table

 

Sujets relatifs
Le framework PHP, synonyme du mal[PHP] Cherche moteur de gestion de projets + wiki
Forum PHP BB a l'arret...Besoin d'aide PHP et module [résolu]
Problème avec la fonction update pour modifié une table d'un BDD [résoSupprimer une ligne d'une table en php [résolu]
Upload de 1Go en PHPRecuperer les insertions récentes dans une table
Script Auto réponse[Perl] Demande authentification avec le script mais pas avec Firefox
Plus de sujets relatifs à : Script Php pour récupere n° de semaine dans une table


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR