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

Requêtes et SQL. Discussion :

Problème avec date et between


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut Problème avec date et between
    Bonjour à tous,
    voici mon problème j'execute avec le mode création d'accès la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_TACHE.*
    FROM T_TACHE
    WHERE date_tache BETWEEN #26/10/09# AND #01/11/09#
    . Je voudrais traiter les données qu'il me trouve a l'aide du php. J'ai bien fait l'odbc_connect et exec mais le seul problème c'est qu'il ne me trouve aucun enregistrements lorsque je fais un "odbc_num_row".
    Voici la partie de mon code PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = "SELECT T_TACHE.* FROM T_TACHE WHERE date_tache BETWEEN #".$dateLundi."# AND #".$dateDimanche."#";
    		echo $sql;
    		$rs = odbc_exec($cnx,$sql);
    		$nbEnr = odbc_num_rows($rs);
    et le résultat de mon echo est : " SELECT T_TACHE.* FROM T_TACHE WHERE date_tache BETWEEN #26/10/2009# AND #01/11/2009# ". Je comprends pas d'ou vient mon erreur, merci de votre aide !

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Bonjour,

    Lorsqu'elles sont placées entre # les dates doivent être au format US, ie MM/DD/AA
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut ca veut toujours pas ...
    voici ce que j'ai mis ce qui a l'air correcte au vue de ce que vous m'avez dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // Traitement pour selectionné les enregistrements de dateLundi à dateDimanche ...
    		include('connection.inc');
    		// Conversion des dates aux format US
    		$date_format_us_lundi = implode('-', array_reverse(explode('/', $dateLundi)));
    		$date_format_us_dimanche = implode('-', array_reverse(explode('/', $dateDimanche)));
     
    		// Création timestamp en conséquence
    		$time_lundi = strtotime($date_format_us_lundi);
    		$time_dimanche= strtotime($date_format_us_dimanche);
     
    		// Conversion des dates en MM/DD/YYYY
    		$dateLundi=date("m/d/Y",$time_lundi);
    		$dateDimanche=date("m/d/Y",$time_dimanche);
     
    		//SQL
    		$sql = "SELECT T_TACHE.* FROM T_TACHE WHERE date_tache BETWEEN #".$dateLundi."# AND #".$dateDimanche."#";
    		echo $sql;
    		$rs = odbc_exec($cnx,$sql);
    		$nbEnr = odbc_num_rows($rs);
    		echo "<br/>Nb Enr :".$nbEnr ;
    Le seul hic c'est qu'il m'affiche "-1" pour le nombre d'enregistrement ... ?

  4. #4
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut
    personne n'aurait une idée ? je viens de lire sur une aide sur cette fonction ceci "Note: odbc_num_rows après un SELECT retournera -1 avec de nombreux pilotes. " Ne serait-ce pas a cause de ceci le problème ? Comment résoudre cela ? Merci de vos réponses !

Discussions similaires

  1. Problème avec date dans requête
    Par alain94 dans le forum Access
    Réponses: 2
    Dernier message: 22/05/2006, 07h49
  2. Réponses: 4
    Dernier message: 13/02/2006, 18h58
  3. Problème avec "Date()" en mode runtime
    Par bwalbourg dans le forum Runtime
    Réponses: 1
    Dernier message: 25/01/2006, 10h51
  4. [MySQL] Problème avec DATE SUB et INTERVAL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/01/2006, 00h36
  5. Probléme avec RQ SQL BETWEEN!!!
    Par Grozeil dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/04/2005, 11h31

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