Page 1 sur 1
Select suivant date
Posté : 17 août 2006, 11:58
par dunbar
Bonjour,
Je voudrais savoir comment faire une selection dans un TABLEAU à partir du champ date de ma TABLE
je voudrais que dans le TABLEAU n'apparaisse que les encodages du mois en court.
la date de la table est 2006-08-01, mais je ne sais pas comment lui dire de faire un
ORDER BY mois
Merci
Posté : 17 août 2006, 12:04
par Dom!
Montre nous ton code parceque comme ca c'est pas facile de t'aider....
Posté : 17 août 2006, 12:06
par dunbar
Montre nous ton code parceque comme ca c'est pas facile de t'aider....
$select = 'SELECT ref,nom,adr,rem,tech,date,tel FROM prestation_aout_2006 ORDER BY IDClient';
et je voudrais pouvoir faire un truc du genre pour n'afficher que les encodages du mois en court.
$select = 'SELECT ref,nom,adr,rem,tech,date,tel FROM prestations_2006 ORDER BY IDClient, mois';
Merci
Posté : 17 août 2006, 12:16
par Dom!
Tu veux trier par le mois et tu n'as pas le mois, tu as une date comprenant le mois. Il faut selon moi indiquer la date en cours et extraire le mois...
Un truc du genre EXTRACT(MONTH FROM CURRENT_DATE)
Ensuite il ne reste plus qu'à fair la meme chose pour la date qui est enregistré dans ta base et tu peux filtrer par le mois actuel....
Posté : 17 août 2006, 12:17
par dunbar
Tu veux trier par le mois et tu n'as pas le mois, tu as une date comprenant le mois. Il faut selon moi indiquer la date en cours et extraire le mois...
Un truc du genre EXTRACT(MONTH FROM CURRENT_DATE)
Ensuite il ne reste plus qu'à fair la meme chose pour la date qui est enregistré dans ta base et tu peux filtrer par le mois actuel....
Ok merci j'ai trouver comme ceci cela à l'air de fonctionner ?
$select = 'SELECT ref,nom,adr,rem,tech,date,tel FROM prestation_tvc_lux ORDER BY MONTH(date), IDClient';
Euuuh

finalement j'ai rien dit
Il trie par mois mais m'affiche tous les encodages et pas uniquement ceux du mois en court

Posté : 17 août 2006, 16:18
par thehawk
peut etre en ajoutant un WHERE date ='date' ou un truc du style ....
Posté : 17 août 2006, 18:25
par iclo
Tu as une table par mois ?

Posté : 18 août 2006, 12:27
par dunbar
Tu as une table par mois ?


Oui et je vais suivre tes conseils je vais créer une TABLE mais avant je dois absolument trouver comment faire pour que le TABLEAU ne m'affiche que le mois en court.

Posté : 18 août 2006, 16:13
par iclo
Sorry, mais à force de répondre à différentes personnes, on en oublie parfois que c'est la même personne sur deux postes différents.
Mais si tu modifiers ta base de donnée par après, tu vas très probablement devoir remodifier ton code pour obtenir ce que tu veux, donc il vaudrait mieux commencer par la stucture de la base de donnée.
Si ce que tu veux faire c'est afficher tous les enregistrements du mois en cours, tu as un paquet de fonctions sql qui permettent de manipuler des dates et d'autres pour des comparaisons.
Un petit indice: toutes les dates du mois en cours, ce sont celle situées entre le 1er du mois et le dernier jour du mois...
Posté : 18 août 2006, 16:31
par dunbar
Sorry, mais à force de répondre à différentes personnes, on en oublie parfois que c'est la même personne sur deux postes différents.
Mais si tu modifiers ta base de donnée par après, tu vas très probablement devoir remodifier ton code pour obtenir ce que tu veux, donc il vaudrait mieux commencer par la stucture de la base de donnée.
Si ce que tu veux faire c'est afficher tous les enregistrements du mois en cours, tu as un paquet de fonctions sql qui permettent de manipuler des dates et d'autres pour des comparaisons.
Un petit indice: toutes les dates du mois en cours, ce sont celle situées entre le 1er du mois et le dernier jour du mois...
Comme j'ai comme habitude d'écouter les bon conseils j'ai refait mes TABLES et j'ai fait une seule TABLES et plus une par mois, j'ai également fait un moteur de recherche, etc... mais il ne reste plus que l'affichage du mois en court ET LA je bloque [-o<

Posté : 18 août 2006, 16:42
par iclo
Ceci
http://mysql.com/doc/refman/5.0/fr/date ... tions.html devrait te permettre de trouver de quoi résoudre ton problème.
Posté : 19 août 2006, 02:24
par dunbar
Ok merci j'ai la solution:
Et pour ceux que cela interesse la voici:
FROM votre table WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE())";
Merci encore
