Fonction Now()( dans requete php /mysql [Résolu]

Signaler
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008
-
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008
-
bonjour a tous...

je suis au désespoir.. quelqu'un pourr t il me sortir de là ??

voici mon problème.. j'écris un flux RSS avec certaines données triéées de ma base de données
voici quelques clés pour comprendre mon problème 
mes entrées comportent les champs suivants :
start_date : date de départ de mon événement
end_date : date de fin de mon événement
endtime : heure de fin de mon événement

si mon événement se termine à 15:30, endtime = 930 (timestamp unix)

mais voila je cherche a supprimer de mon tri toutes les entrées comportant un endtime inférieur à mon heure actuelle :
ex : entrée avec endtime à 13:00 (soit 780), et qu'il est 14:00 (soit 840) je ne voudrais pas l'afficher...

voici donc mon code et en rouge l'endroit qui me pose problème.. lorsque je place ce code... cela ne marche pas.. quelqu'un aurait il une super idée ??

merci d'avance

   $query = 'SELECT res.*, rs.name, rs.rphone, rs.location FROM '
      . $this->get_table('reservations') . ' as res INNER JOIN '
      . $this->get_table('resources') . ' as rs ON rs.machid=res.machid'
      . ' WHERE res.machid=?'
      . ' AND (res.start_date=? OR (res.start_date<=? AND res.end_date>=?)) '
      . ' AND res.endtime>=minute(now())'
      . ' AND res.is_blackout <> 1'
      . " ORDER BY res.start_date DESC, rs.name, res.starttime DESC";

10 réponses

Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Bouton "réponse acceptée" pour accepter une réponse =)
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
hello,

930? un temps unix? euh.. je pense que tu te trompes =)
Dans le cas où t'as vraiment des temps unix, tu fais:

res.endtime>= UNIX_TIMESTAMP()

D'ailleurs enregistrer les dates/heures au format unix est le plus simple pour pouvoir les manipuler par la suite.. (sauf dans le cas où les dates sont < 1970 mais bon..)

win
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008

oui il en fait, il s'agit du nombre de minutes écoulées dans une journée :
00:10 = 10
14:00= 840
22:50 =1360

ce que tu m'indique va me renvoyer le temps complet depuis le 1 janvier 1970...
 je veux juste les minutes de la journée..
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Ah, donc MINUTE(NOW())*HOUR(NOW()); ?

win
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008

alon y est presque.. en effet les entrées du matin on disparues mais j'ai encore une entrée qui se passe à 16:00 donc 960 alors qu'il est 17:30 soit 1050
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Oula, la betise que j'ai mis au dessus :o mal reveillé moi ..

MINUTE(NOW())+HOUR(NOW())*60 < ça devrait fonctionner
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008

YES !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

alors là.. mois je dis bravo et super méga Merci....
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008

juste une question.. y a un retard de 3 minutes.. tu sais pourquoi ??
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Heure différente entre mysql & php ? ou une betise du genre.. t'as enregistré comment tes temps dans ta db mysql?

win
Messages postés
19
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
31 mai 2008

sais plus.. Mais c pas catastrophique..en tous cas.. vraiment encore merci