Select des champs ayant une date qui appartient a un intervalle [Résolu]

sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 12:11 - Dernière réponse : sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention
- 30 sept. 2005 à 14:35
Je souhaite faire un SELECT entre deux dates : genre



SELECT * FROM transaction date>=$date_min AND date<=$date_max



Cette expression ne marche pas !!!



Qui peux me donner une autre solution ???
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
ImmortalPC 955 Messages postés mardi 11 mai 2004Date d'inscription 11 novembre 2008 Dernière intervention - 30 sept. 2005 à 14:34
3
Merci
Salut,

Truc con mais ça marche :

SELECT `date` FROM `test` WHERE `date` >= "2005-09-30 14:23:03" AND `date` <= "2005-09-30 14:23:06"

et ça me renvoie 4 champs.

Et en prime le code php que g utilisé

<?php

$connect = mysql_connect('localhost', 'root', '');

mysql_select_db('localhost', $connect);

for($i=0;$i<10;$i++){

mysql_query('INSERT INTO `test` VALUES("'.date('Y-m-d H:i:0'.$i).'");')or die(mysql_error());

}

// Fromat de la date : date('Y-m-d H:i:s')

mysql_close($connect);

?>

@+


Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.

Merci ImmortalPC 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de ImmortalPC
Meilleure réponse
sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 14:35
3
Merci
Merci pour tt le monde je viens de trouver la solution :



$date_min="20050901000000";

$date_max="20051031235959";

$reponse = mysql_query("SELECT * FROM transaction WHERE ncclient='$nc2' And date BETWEEN $date_min AND $date_max ");

Merci sephiroth1020 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de sephiroth1020
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 sept. 2005 à 12:43
0
Merci
Hello,



c'est pas du sql ça...lol. Il manque quelques clauses...



SELECT machin FROM transaction WHERE date BETWEEN $date_min AND $date_max



http://dev.mysql.com/doc/mysql/en/comparison-operators.html



Ou tu gardes ton truc, mais tu ajoutes la clause WHERE, parce que là,
ta requête ne veut strictement rien dire. De toutes façons, les
requêtes, 'est facile : c'est presque du littéral. Si tu traduis la
tienne, tu dis :

sélectionnes machin dans transaction date est supérieure ou égale à date_min et date est inférieure ou égale à date_max.

Ca ne veut rien dire en français. Alors qu'en rajoutant "où"...:

sélectionnes machin dans transaction où date est supérieure ou égale à date_min et date est inférieure ou égale à date_max.
Commenter la réponse de malalam
sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 12:49
0
Merci
Désolé mais ça ne marche pas!!!

AND est utiliser car les deux conditions doivent exister
Commenter la réponse de sephiroth1020
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 sept. 2005 à 12:52
0
Merci
Je n'ai pas enlevé AND...je t'ai dit que tu avais oublié WHERE.

Et si ça ne marche pas, c'est qu'il y a un problème avec ta table/tes
variables, car cette requête fonctionne très bien chez moi.
Commenter la réponse de malalam
sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 12:55
0
Merci
Moi en posant cette question mon but n'était pas d'avoir des reponses
sur la syntaxe mais comment pouvoir comparer une DATE de la base de
données avec une variable
Commenter la réponse de sephiroth1020
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 sept. 2005 à 13:01
0
Merci
Je viens de te le dire !

Ta requête est syntaxiquement fausse, donc forcément, elle ne marche pas!

Et je t'ai donné 2 syntaxes! Faire une comparaison entre deux dates en sql, c'est bien un problème de syntaxe, pas de maths...



Après, si tes variables, elles, ne correspondent pas à ton modèle de
données...je n'y peux rien. Si tu tentes de comparer un type datetime
sql et un type date php...forcément, ça foire. On ne peut comparer que
ce qui est comparable.

Moi s je te demande : est-ce que 2 est inférieur au 30 septembre 2005,
tu vas me répondre quoi ? Tu vas me faure la gueule. Mysql et php aussi.
Commenter la réponse de malalam
sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 13:05
0
Merci
Merci pour tes reponse.

Je cherche une reponse pour mon probleme de Comparaison et de conversion des variables Date ...
Commenter la réponse de sephiroth1020
ImmortalPC 955 Messages postés mardi 11 mai 2004Date d'inscription 11 novembre 2008 Dernière intervention - 30 sept. 2005 à 13:08
0
Merci
Salut,

1) Sous quel forme est ta date $date ?

2) Sous quel forme est ta date qui est dans MySQl ?

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Commenter la réponse de ImmortalPC
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 30 sept. 2005 à 13:12
0
Merci
Sephiroth => il y a eu une charte ici, à un moment...elle disait
entre autre qu'il fallait énoncer clairement les problèmes, avec toutes
les informations nécessaires.

Si tu cherches à comparer un champ date mysql, et une variable $date...tu dois dire précisément de quel type sont :

- ton champ sql

- ta variable.

Comme te le demande Immortal.

Ca me semble une évidence que sans ça, personne ne peut te donner de réponse claire.

Enonce donc clairement et exhaustivement.
Commenter la réponse de malalam
sephiroth1020 56 Messages postés mardi 4 janvier 2005Date d'inscription 10 octobre 2005 Dernière intervention - 30 sept. 2005 à 13:17
0
Merci
Le type de la date dans Mysql : DATETIME

Le type de la variable $date_min : Texte sous le meme format que date time :aaaa-mm-jj hh:mm:ss

Vous avez une solutions pour moi ?
Commenter la réponse de sephiroth1020

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.