Pb avec date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb avec date

par Django » 24 déc. 2007, 14:05

Merci à vous deux de vos réponses,

J'ai essayé cela sans les "quotes" ca ne fonctionne pas... enfin il y a des les résultats pas ceux excomptés.
Et de même sans espaces.

Le champ date_anc est au format "INT", je vais essayer avec d'autres formats.

Django.
--------------------------------------
(pas pu "répondre" à mon propre message!)

Ok merci à vous deux ca fonctionne !
Je vais mettre "Résolu"

Bonnes Fêtes à vous tous.

Django.

par moileraz » 24 déc. 2007, 13:49

Bonjour django,
si j'ai bien compris t'as deux champs date_anc (qui affiche des années) et date_enr (format date).

bon dans le code je ne vois pas de gros souci mais essaye ca:

Code : Tout sélectionner

$query="SELECT * FROM matable WHERE date_anc>2003"; $result=mysql_query($query) or die(mysql_error());
J'ai déjà eu un souci du genre et le fait d'eliminer l'espace entre a changé le résultat.

et comme l'a dit Zeus enleve les guilmets :D

essaye tiens moi au courant :D

par zeus » 24 déc. 2007, 13:47

Les champs YEAR et INT sont des types numériques. Il faut donc comparer ce champ à une valeur numérique, pas une chaine de caractères ;)

Code : Tout sélectionner

SELECT * FROM matable WHERE date_anc > 2003
De même, une date n'est pas une chaine de caractère. Il faut avant que tu la transformes en date avec

Code : Tout sélectionner

STR_TO_DATE('2007-12-04', '%Y-%m-%d')
Modération :
Sujet déplacé

Pb avec date

par Django » 24 déc. 2007, 13:33

Bonjour à vous tous en cette période de Fêtes.
Je pense que vous êtes tous au chaud chez vous à preparer le reveillon en famille... je vous le souhaite.

Mais je poste quand même ma question au cas ou... :)

Donc j'ai une table dans laquelle il y a deux champs correspondant à des dates.
date_anc correspondant à l'année d'enregistrement, 4 chiffres. (2000, 2003,... etc.)
Et date_enr correspondant à l'inscription au format "date" (YYYY-MM-DD)

Dans un premier temps je veux afficher les membres qui sont (par exemple) enregistrer après "2003" alors je fais comme ceci:

Code : Tout sélectionner

SELECT * FROM matable WHERE date_anc > '2003'
Mais dans le résultat apparait toujours ceux qui ce sont enregistrés avant (2000, 2001,... etc.)

Ce champ date_anc je l'ai mis au format : "INT" , "VAR" , "YEAR"... mais toujours pareil.

Avez vous une idée ? Une piste ?

Et je vais devoir faire la même chose pour le champ date_enr et la je suppose encore plus galère.

J'ai essayé un truc genre :

Code : Tout sélectionner

date BETWEEN '21-02-2007' AND '16-03-2007'
Mais il m'oculte la première (et dernière) date.
Les dates 21-02-2007 et 16-03-2007 n'apparaissent pas dans le résultat. ?

Voilà alors si il y avait quelques âmes généreuses qui traineraient encore par ici (comme moi !) si elles pouvaient me donner un petit coup de main.
Merci à vous.
Et bonnes fêtes de fin d'année.
Django.