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 :

[SQL] selection en fonction d'un comparaison de date


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut [SQL] selection en fonction d'un comparaison de date
    Bonjours

    Je voudrais selectionner un enregistrement dont la date contenu dans la table est superieur à la date actuelle. Mon probleme est que mon code sql ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $date = date('Y-m-d G:i:s'); // donne la date du jour de la forme 2006-09-1 16:30:55
    $sql =  "SELECT titre FROM fr_part_demande WHERE date_fin >= ".$date;
    $af = mysql_query($sql);
    $res = mysql_fetch_object($af);
    echo "$res->titre<br>";
    ?>
    dans la table j 'ai tenter de mettre plusieur option j'ai mis date_fin en text , datetime. Rien ny fait cela fonctionne pas.

    J'ai même tenté la fonction microtime() et change date_fin en decimal (0,.....) cela ne fonctionne pas non plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    $date = microtime(date(('Y-m-dG:i:s'); // donne la date en 0,........
    $sql =  "SELECT titre FROM fr_part_demande WHERE date_fin >= ".$date;
    $af = mysql_query($sql);
    $res = mysql_fetch_object($af);
    echo "$res->titre<br>";
    ?>
    Qu' est qui cloche sur ma variable sql ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql =  "SELECT titre FROM fr_part_demande WHERE date_fin >= ".$date;
    Pouvez vous m'aider ?
    Merci d'avance!!!!

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Un petit conseil : tu devrais t'inspirer de ceci c'est exactement ce que tu veux. Comment extraire des enregistrements appartenant à un intervalle de dates ?

    Mais bon ce serait plus pratique de fonctionner avec le timestamp. Et pour comparer tu dois utiliser le timestamp obtenu à l'aide de time(). Et dans ta requete tu aurais plus de problème

  3. #3
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    les quotes !! les quotes !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sql =  "SELECT titre FROM fr_part_demande WHERE date_fin >= '".$date."'";
    Sur le type du champs date, soit tu utilises le timestamp comme le suggére Kerod, soit tu utilises date/datetime.
    Mais surtout pas de bidouille avec du text/varchar, car tu perdrais tout l'interet des champs date/datetime.

Discussions similaires

  1. SQL select en fonction de 2 criteres
    Par dbzes59113 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/02/2010, 10h36
  2. Réponses: 2
    Dernier message: 20/12/2008, 07h51
  3. Réponses: 6
    Dernier message: 23/05/2008, 15h03
  4. [SQL] select en fonction d'une autre table
    Par rduvrac dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/03/2008, 13h45
  5. [SQL] select en fonction de 2 tables
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/02/2007, 11h24

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