[PHP/SQL SERVER] Pb Semaine incroyable
Kyra13
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
fky -
fky -
Bonjour,
Depuis que nous sommes passés à 2009 je rencontre ce problème.
J'ai une fonction sous SQL Server 2005 qui me calcul le numéro de la semaine de la date envoyée, de ce côté aucun problème : la fonction marche correctement.
D'un autre coté, je travail sur un site web qui cherche des colis, sur chaque recherche vous avez une barre de date qui vous permet de trier par semaine, mois, ...
Cette barre de date est une simple balise <select> contenant les n° de semaine avec les années.
Si un utilisateur vient choisir une semaine, je rajoute à ma requête l'argument :
ISOWEEK(Date_envoyée)=2 AND YEAR(Date_envoyée)=2009 (où isoweek est la fonction sous SQL Server)
Rien de savant, PHP ne calcul rien et SQL Server vient tout simplement exécuter la requête.
Là où ça devient bizarre :
Les données renvoyées sur le site web ne correspondent pas à la semaine choisie, MAIS si j'exécute cette même requête dans Sql server 2005 j'ai les bons résultats...
Du coup, on peut identifier le décalage suivant :
S01
Site web : Du 05/01 au 09/01
SQL Server : Du 01/01 au 02/01
S02
Site web : Du 12/01 au 16/01
SQL Server : Du 05/01 au 09/01
S03
Site web : Du 19/01 au 23/01
SQL Server : Du 12/01 au 16/01
S04
Site web : Du 26/01 au 30/01
SQL Server : Du 19/01 au 23/01
Je ne comprend vraiment pas ce problème, j'ai vidé le cache en pensant que cela venait de là, mais aucun changement.
Merci d'avance
Marlène
Depuis que nous sommes passés à 2009 je rencontre ce problème.
J'ai une fonction sous SQL Server 2005 qui me calcul le numéro de la semaine de la date envoyée, de ce côté aucun problème : la fonction marche correctement.
D'un autre coté, je travail sur un site web qui cherche des colis, sur chaque recherche vous avez une barre de date qui vous permet de trier par semaine, mois, ...
Cette barre de date est une simple balise <select> contenant les n° de semaine avec les années.
Si un utilisateur vient choisir une semaine, je rajoute à ma requête l'argument :
ISOWEEK(Date_envoyée)=2 AND YEAR(Date_envoyée)=2009 (où isoweek est la fonction sous SQL Server)
Rien de savant, PHP ne calcul rien et SQL Server vient tout simplement exécuter la requête.
Là où ça devient bizarre :
Les données renvoyées sur le site web ne correspondent pas à la semaine choisie, MAIS si j'exécute cette même requête dans Sql server 2005 j'ai les bons résultats...
Du coup, on peut identifier le décalage suivant :
S01
Site web : Du 05/01 au 09/01
SQL Server : Du 01/01 au 02/01
S02
Site web : Du 12/01 au 16/01
SQL Server : Du 05/01 au 09/01
S03
Site web : Du 19/01 au 23/01
SQL Server : Du 12/01 au 16/01
S04
Site web : Du 26/01 au 30/01
SQL Server : Du 19/01 au 23/01
Je ne comprend vraiment pas ce problème, j'ai vidé le cache en pensant que cela venait de là, mais aucun changement.
Merci d'avance
Marlène
A voir également:
- [PHP/SQL SERVER] Pb Semaine incroyable
- Cybera server - Télécharger - Divers Réseau & Wi-Fi
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Easy php - Télécharger - Divers Web & Internet
- Filezilla server - Télécharger - Téléchargement & Transfert
- Mysql community server - Télécharger - Bases de données
9 réponses
Coucou,
Manifestement ton site web à oublier les premiers jours de janvier, semaine 1 commençant le 5/01 bizarre ?
Comment tes semaines sont-elles gérées sur le site ?
Manifestement ton site web à oublier les premiers jours de janvier, semaine 1 commençant le 5/01 bizarre ?
Comment tes semaines sont-elles gérées sur le site ?
Question toute bête, dans ton select, la première occurence est sans doute 0 pour la semaine 1, en tient tu comptes pour la requête ? (semaine 1 serait en faites select[0]) ?
Le Select ne commence pas par 0, il commence à 1, car il n'y a pas de semaine 0.
Il est mis à jour à partir d'une table que j'ai dans SQL Server qui liste toute les semaines existantes dans mes bases de données.
Il est mis à jour à partir d'une table que j'ai dans SQL Server qui liste toute les semaines existantes dans mes bases de données.
Là je bosse donc c'est pas évident mais il va falloir qu'on récupère exactement la requéte qui par du site et celle qui arrive au serveur .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens de découvrir quelque chose en faisant des tests.
Exemple : on sélectionne la semaine 2-2009 sur le site web
=> Le site web renvoi la semaine 3 en résultat
=> Si on copie la requête sql qui est envoyé au site web et qu'on la met sous SQL Server, j'ai bien les résultats de la semaine 2
=> Si on fait afficher en plus à SQL Server, le n° de semaine dans les réponses renvoyées par la requête, on a bien la semaine 3
Je dois avouer que je ne comprends plus grand choses à ça ...
Il n'y a d'incrémentation null part dans le code, donc si je comprends bien : dans sql server tout va bien, mais la transition avec le site web lui fait sauter une semaine.
Sans compter que ce problème n'existe uniquement sur 2009, car (je pense) cela le perturbe que le 1er janvier soit un jeudi.
Exemple : on sélectionne la semaine 2-2009 sur le site web
=> Le site web renvoi la semaine 3 en résultat
=> Si on copie la requête sql qui est envoyé au site web et qu'on la met sous SQL Server, j'ai bien les résultats de la semaine 2
=> Si on fait afficher en plus à SQL Server, le n° de semaine dans les réponses renvoyées par la requête, on a bien la semaine 3
Je dois avouer que je ne comprends plus grand choses à ça ...
Il n'y a d'incrémentation null part dans le code, donc si je comprends bien : dans sql server tout va bien, mais la transition avec le site web lui fait sauter une semaine.
Sans compter que ce problème n'existe uniquement sur 2009, car (je pense) cela le perturbe que le 1er janvier soit un jeudi.
Est-ce possible de lui ôter une unité sur la semaine avant la requête ?
J'ai eu ce genre de problème, il y a longtemps et dans une fonction on pouvait définir le jour de début d'une semaine mais c'est loin !!
J'ai eu ce genre de problème, il y a longtemps et dans une fonction on pouvait définir le jour de début d'une semaine mais c'est loin !!
Bonjour,
Merci de ton aide, mais je vais tout simplement stocker les semaines dans une table.
Je pense que le probléme vient de là : seules les années dont le jour de l'an est un jeudi auront 53 semaines.
Du coup ça me fait un décalage, et si je fais -1 à ma semaine, je perds les données de la semaine 1 vu qu'il y a pas de semaine 0.
Encore merci et bonne continuation
Merci de ton aide, mais je vais tout simplement stocker les semaines dans une table.
Je pense que le probléme vient de là : seules les années dont le jour de l'an est un jeudi auront 53 semaines.
Du coup ça me fait un décalage, et si je fais -1 à ma semaine, je perds les données de la semaine 1 vu qu'il y a pas de semaine 0.
Encore merci et bonne continuation
Sur mon site web, il n'y a pas de gestion des semaines, c'est juste une balise <select> avec des chiffres correspondant aux n° des semaines.
Donc mon site ne fait aucun calcul de semaine, c'est juste un numéro qui est envoyé à SQL Server qui lui retourne les informations correspondant au numéro de la semaine.