IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête de filtre sur les dates


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut Requête de filtre sur les dates
    Salut à tous,
    Je rencontre 3 pb php/mysql, il y aura donc 3 messages!

    Je débute en php, 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...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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

  2. #2
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Bonjour, bienvenue et bonne année,

    Utilise plutôt la fonction MONTH() de Mysql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requeteMathieu="select * from transac where MONTH(date)='08'";

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Commençons par une note sur la syntaxe utilisée ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function ExtraitMois($Date){
        break;
    }
    L'instruction break n'a pas sa place dans le corps d'une fonction, elle n'est utilisée que dans une boucle (for, foreach, while ou case) pour mettre "fin" à celle-ci. Dans une fonction c'est return qui s'en charge en retournant une valeur ou non.

    Ensuite, dans une requête SQL il n'est pas possible d'utiliser une fonction PHP puisqu'il ne sera pas en mesure de l'appeler. Seules les fonctions intégrées au SGBD peuvent être appelées (voir la liste dans la doc du SGBD en question) ou encore celles que vous aurez créées sous forme de "procédures stockées" (MySQL 5.0 et supérieur).

    Par conséquent les fonctions et la requête que vous cherchez (novembre 2005) serait du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requeteMathieu="SELECT * FROM transac WHERE MONTH(date)='08' AND YEAR(date) = '2005';";
    La fonction MySQL MONTH() servant à extraire directement le mois (sous la forme d'un nombre) d'un champ de type DATE ou DATETIME et YEAR(), l'année.

    Plus d'informations sur les fonctions qui permettent de manipuler les dates (au sens large).


    Julp.

Discussions similaires

  1. Requêtes avec critères sur les dates
    Par marcelstan dans le forum Access
    Réponses: 11
    Dernier message: 14/05/2014, 16h20
  2. Requête SQL basée sur les dates
    Par zwina2004 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/04/2014, 10h33
  3. Requête avec travail sur les dates
    Par masseur dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/07/2008, 12h11
  4. Réponses: 5
    Dernier message: 06/07/2006, 11h40
  5. Programmation du filtre sur les Dates
    Par Alpha31 dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2006, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo