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 :

Recherche date ds BDD [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Par défaut Recherche date ds BDD
    Bonjour à tous,

    Voilà mon petit problème :
    - J'ai une table ou je stocke des questions active d'une date à une date (structure : id;question;date_debut;date_fin)
    <italique>Pour info les date sont au format aaaa-mm-jj</italique>
    - Si je suis le 12 novembre je souhaite afficher les questions ou la plage de date comprend le 12 novembre.

    Par contre je ne sais pas comment faire avec ma requete :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $retour_liste = mysql_query("SELECT num_question, question FROM quali_question WHERE enseigne='$enseigne' AND date_debut='".$rch_date_debut."' AND date_fin='".$rch_date_fin."'  ORDER BY num_question");

    C'est un exemple de requête qui me permet d'afficher les questions, il faudrait que j'arrive à la modifier mais je ne vois pas trop comment ?

    Merci d'avance de votre aide !

  2. #2
    Membre éprouvé Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Par défaut
    Bonjour,

    Je te conseil de chercher de ce coté là: http://dev.mysql.com/doc/refman/5.0/...functions.html

    Mais la réponse serai un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (date_debut < needed_date) AND (date_fin > needed_date)
    Pour needed_date tu devras certainement utiliser la fonction DATE() MySQL pour avoir un format de date compatible et optimisant la requête.

    [edit]j'ai donné le cas général mais si tu ne cherche que les questions active pour le jour même, NOW() devrai être la fonction qu'il te faut.[/edit]

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Par défaut
    Oui mes données sont bien au format date dans MySQL
    En revanche je ne trouve rien sur needed_date...

    As tu plus d'eplication sur cette fonction ?

    Merci d'avance !

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
      $rch_date = '12/11/2008';
      $sql = 'SELECT num_question, question 
              FROM quali_question 
              WHERE enseigne = \'' . $enseigne . '\' 
              AND STR_TO_DATE(\'' . $rch_date . '\', \'%d/%m/%Y\') BETWEEN date_debut AND date_fin
              ORDER BY num_question';
    ?>
    ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
      $rch_date = '2008-11-12';
      $sql = 'SELECT num_question, question 
              FROM quali_question 
              WHERE enseigne = \'' . $enseigne . '\' 
              AND \'' . $rch_date . '\' BETWEEN date_debut AND date_fin
              ORDER BY num_question';
    ?>
    en fonction du format de la date recherchée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Sous quelle forme dois-je envoyer la date vers BDD ?
    Par Death83 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 22/12/2005, 09h15
  2. conseil recherche systeme de bdd
    Par nanarr dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/06/2005, 17h15
  3. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03
  4. insérer date dans bdd mssql
    Par ericmart dans le forum ASP
    Réponses: 18
    Dernier message: 14/12/2004, 14h10
  5. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06

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