Afficher un résultat d'une requete en fonction d'une date

al
Invité n'ayant pas de compte PHPfrance

18 avr. 2009, 23:20

Bonjour,

Voilà mon problème, j'ai créé un petit script de sondage. Dans mon script, il est possible d'afficher le jour de début et de fin d'un sondage. Ce qui veut dire à la date de début on affiche le sondage correspondant et à la date de fin on n'affiche plus.

Ex de données :
S1 : Date de début le 2009-04-19 01:11:16 - Date de fin le 2009-04-24 11:11:11
S2 : Date de début le 2009-04-17 09:48:07 - Date de fin le 2009-04-19 10:50:10

Je souhaite afficher le sondage qui est valide aujourd'hui (ex : 2009-04-18 19:24:57), ce qui devrait afficher comme résultat le sondage 2.

Voici ma requête sql pour ce que je vaux faire :
SELECT DISTINCT `s`.`poll_id`, `s`.`poll_datebegin`, `s`.`poll_dateend` FROM `serie_vote_polls` AS `s` WHERE (s.poll_dateend <= '.date('Y-m-d H:i:s').') AND (s.poll_datebegin >= '.date('Y-m-d H:i:s').')

N.B pour cette exemple remplacé date('Y-m-d H:i:s') par 2009-04-18 19:24:57.

Mais cette requête ci-dessus ne donne aucun résultat.

Quelqu'un peut-il me dire d'où vient le problème, s'il vous plait. En espérant que j'ai été clair. Pour plus de renseignement n'hésitez pas.

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

18 avr. 2009, 23:53

(s.poll_dateend <= '.date('Y-m-d H:i:s').') 
AND 
(s.poll_datebegin >= '.date('Y-m-d H:i:s').') 
Hmm... tu récupères tous les sondages dont la date de fin est inférieure ou égale à la date (et heure) du jour, et dont la date de début est supérieure à celle-ci... En gros, tu essayes d'afficher les sondages qui n'ont pas encore commencé et qui sont déjà terminés ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

al
Invité n'ayant pas de compte PHPfrance

19 avr. 2009, 09:00

Euh ! Non! J'essaye d'afficher les sondages qui ont déjà débuté et qui ne sont pas encore fini. Et merci je crois avoir compris ma bêtise.

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

19 avr. 2009, 11:13

Ben c'est bien ça le soucis... tes égalités ne sont pas dans le bon sens :)

Il te faut une date de fin qui n'est pas encore arrivée par rapport à la date du jour (donc date de fin supérieure à la date du jour) et une date de début déjà passée (donc date de début inférieur à la date du jour). C'est le contraire que tu avais fait ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...