OVH Cloud OVH Cloud

requête de filtre sur les dates

1 réponse
Avatar
Mathieu
Salut à tous,

Je débute en php/mysql, vous allez peut-être trouver les questions faciles,
tant
mieux dans ce cas:

J'ai une base de données mysql et j'y accède via des pages écrites en PHP...
tout ça marche bien.
Je peux facilement extraire et afficher toutes les données de ma table. Je
peux aussi filtrer sur la valeur d'un champ (par exemple sur une valeur
précise de date).
Mais ce que je voudrais c'est pouvoir afficher à l'écran les transaction
effectuées par exemple en novembre 2005.
Alors j'ai pensé pour commencer à créer une fonction ExtraitMois qui renvoie
étant donnée une date la valeur du mois... j'ai testé cette fonction qui
fonctionne. Mais je n'arrive pas à l'utiliser dans ma requête...

function ExtraitMois($Date){

list($annee, $mois, $jour) = explode("-", $Date);

return($mois);

break;

}

$requeteMathieu="select * from transac where ExtraitMois('date')='08'";




Voilà
merci d'avance
Mathieu

1 réponse

Avatar
Fred Brouard - SQLpro
Plus exactement :

select *
from transac
where Month("date") = 8
AND Year("date") = 2005

Autre formultation avec le row value constructor :

select *
from transac
where (Year("date"), Month("date")) = (2005, 8)


2vitez les noms d'objet (table, colonne..) qui sont des mots réservés de
SQL. Cela ne peut vous apportez que des ennuis.
Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie1#L1

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Mathieu a écrit :
Salut à tous,

Je débute en php/mysql, vous allez peut-être trouver les questions faciles,
tant
mieux dans ce cas:

J'ai une base de données mysql et j'y accède via des pages écrites en PHP...
tout ça marche bien.
Je peux facilement extraire et afficher toutes les données de ma table. Je
peux aussi filtrer sur la valeur d'un champ (par exemple sur une valeur
précise de date).
Mais ce que je voudrais c'est pouvoir afficher à l'écran les transaction
effectuées par exemple en novembre 2005.
Alors j'ai pensé pour commencer à créer une fonction ExtraitMois qui renvoie
étant donnée une date la valeur du mois... j'ai testé cette fonction qui
fonctionne. Mais je n'arrive pas à l'utiliser dans ma requête...

function ExtraitMois($Date){

list($annee, $mois, $jour) = explode("-", $Date);

return($mois);

break;

}

$requeteMathieu="select * from transac where ExtraitMois('date')='08'";




Voilà
merci d'avance
Mathieu