intervalle coparatif avec la date courante

Eléphant du PHP | 187 Messages

31 déc. 2011, 15:18

salut,
je veux afficher certains listes en fonction de dates.
je donne un exemple:
il faut que je visite une liste dans l’intervalle de 'une date début' à 'une date fin' appartient toujours au date courante.
donc une fois je consulte mon formulaire je trouve que les listes qui appartient à cette intervalle et Dont la date courante inclue .si c'est dépassé la liste ne s'affiche pas.
j'ai d'abord imaginé une requête sql comme ceci :
SELECT liste FROM table WHERE DATE_DEBUT>=DATEcourante AND DATE_FIN<=DATEcourante
mais je sais pas comment présenter la date courante puisque j'ai pas son champ!!
merci d'avance pour l'aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 déc. 2011, 15:29

salut,

voir http://dev.mysql.com/doc/refman/5.5/en/ ... tions.html
et plus particulièrement
now()
current_date (ou curdate())
sysdate()

les autres aussi sont utile ;)

pour la comparaison tu peux aussi utiliser between

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 187 Messages

31 déc. 2011, 16:06

un truc comme ça :
SELECT * FROM aff WHERE '$date_debut' >=CURRENT_DATE AND '$date_fin' <=CURRENT_DATE"
ça peut ?

ViPHP
xTG
ViPHP | 7331 Messages

31 déc. 2011, 16:14

Cela fonctionnerai aussi, à savoir que c'est CURRENT_DATE()

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 déc. 2011, 16:26

Cela fonctionnerai aussi, à savoir que c'est CURRENT_DATE()
oui mais current_date existe aussi :mrgreen: http://dev.mysql.com/doc/refman/5.5/en/ ... rrent-date
les deux étant d'ailleurs des synonymes de curdate

enfin bref c'est de la terminologie la :)

@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

31 déc. 2011, 16:39

Humpf... Je me coucherai moins bête ce soir, des constantes MySQL. :)

Eléphant du PHP | 187 Messages

01 janv. 2012, 03:34

:? désolé mais je peux bien me basé sur cette requête ??

ViPHP
xTG
ViPHP | 7331 Messages

01 janv. 2012, 10:38

Oui elle semble tout à fait correcte. :)

Eléphant du PHP | 187 Messages

02 janv. 2012, 14:40

non ça me retourne rien :(:(
beh je sais pas pourquoi vraiment je suis perdue là!!

ViPHP
ViPHP | 2287 Messages

02 janv. 2012, 15:12

un truc comme ça :
SELECT * FROM aff WHERE '$date_debut' >=CURRENT_DATE AND '$date_fin' <=CURRENT_DATE"
ça peut ?
Sans les variables php, ça marchera mieux :P

D'ailleurs, à la place des variables tu devrais avoir des noms de champs (pas des valeurs).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 187 Messages

02 janv. 2012, 15:36

un truc comme ça :
SELECT * FROM aff WHERE '$date_debut' >=CURRENT_DATE AND '$date_fin' <=CURRENT_DATE"
ça peut ?
Sans les variables php, ça marchera mieux :P

D'ailleurs, à la place des variables tu devrais avoir des noms de champs (pas des valeurs).
oui c'est rectifié avec les champs comme ça :mais ça me retourne aussi rien!
SELECT * from aff where date_debut >=date('Y-m-d') AND date_fin <=date('Y-m-d')
je sais pas si y a une autre méthode pour afficher les listes que leurs intervalles sont au courant,.. :?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 janv. 2012, 16:21

Qu'elle est la dernière requête que tu a testé ?

Comment l'a tu testé ? (phyadmin, console mysql ? ...)

À tu vérifier qu'il y a, dans ta table, des infos affichable à l'instant où tu test ? (erreur bête mais fréquente ;) )

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 187 Messages

02 janv. 2012, 16:30

Qu'elle est la dernière requête que tu a testé ?

Comment l'a tu testé ? (phyadmin, console mysql ? ...)

À tu vérifier qu'il y a, dans ta table, des infos affichable à l'instant où tu test ? (erreur bête mais fréquente ;) )

@+
la dernière requête que je teste c'est :
SELECT * from aff where  date_debut >=date('Y-m-d') AND date_fin <=date('Y-m-d')
c'est sur phpmyadmin et sur mon formulaire et dans les deux cas ça me retourne rien et c'est sans erreur.
pour les donnée de la table j'ai bien les champs: date_debut et date_fin et liste..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 janv. 2012, 17:57

pour les donnée de la table j'ai bien les champs: date_debut et date_fin et liste..
je n'en doute pas mais a tu des données dans ces champs qui valide les critère de la requête ?
SELECT * FROM aff WHERE  date_debut >=date('Y-m-d') AND date_fin <=date('Y-m-d')
avec ça tu ne prend que les infos qui ont date_debut == date_fin == date('Y-m-d') est bien ce que tu a dans ta table "aff" ? (les deux dates identiques et du jour).

au pire montre le nous le create table et un jeux de résultat (export phpmyadmin) afin de pouvoir tester ;)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 187 Messages

02 janv. 2012, 19:02

ok j'ai développé ma requête par (et je suis pas sur que c'est exacte la solution):
"SELECT * FROM aff WHERE CURDATE( ) between date_debut  AND date_fin"
elle me retourne alors deux enregistrement avec
1-Date_debut: 2012-01-02 date_fin:2012-12-02
2-Date_debut: 2011-01-02 date_fin:2012-01-02
merci pour votre suivi ;)